LeetCode 35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。

示例 1:

复制代码
输入: nums = [1,3,5,6], target = 5
输出: 2

示例 2:

复制代码
输入: nums = [1,3,5,6], target = 2
输出: 1

示例 3:

复制代码
输入: nums = [1,3,5,6], target = 7
输出: 4

提示:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums无重复元素升序排列数组
  • -104 <= target <= 104
cpp 复制代码
class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int l=0,r=nums.size()-1;
        while(l<r)
        {
            int mid=(l+r)/2;
            if(nums[mid]<target)
            {
                l=mid+1;
            }else{
                r=mid;
            }
        }
        if(nums[r]<target)
        return nums.size();
        return l;
    }
};
相关推荐
小O的算法实验室15 小时前
IEEE TASE,基于MPC的多无人机协同搜索竞争群体优化方法
算法
小飞学编程...15 小时前
【哈希表】
数据结构·哈希算法·散列表
Tbisnic16 小时前
BGE-M3 算法详解:从模型架构到三种检索方式的数学原理
算法·自然语言处理·大模型·bert·transformer·注意力机制
Brilliantwxx16 小时前
【算法从零到千】【55-58】哈希位图+常见数学运算 接口
算法
空堂与归17 小时前
用户分群找不到规律?用K-Means聚类算法自动发现数据模式
算法·机器学习·kmeans·聚类
动词ing18 小时前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
重生之后端学习18 小时前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
一只小小的芙厨19 小时前
基础数论总结
笔记·学习·算法
动词ing19 小时前
【C语言】结构体+文件基础
c语言·开发语言·数据结构
夜不会漫长20 小时前
C++入门(1)
开发语言·c++·算法