用C++写二分查找了!【手绘漫画】图解LeetCode之搜索插入位置(LeetCode 35)

2020-04-21 13:35:19 浏览数 (1)

首先看一下题目,

正常的二分查找,除了两个特殊的条件,即,如果数组中没有 target,小于最小值或者大于最大值,则返回插入的位置。

3、正文

能找到:

找不到:

4、代码

代码语言:javascript复制
class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        if(nums.empty()||nums.back()<target) return nums.size();

        int left=0;
        int right=nums.size()-1;
        while(left<right){
            int mid=left right>>1;
            if(nums[mid]>=target){
                right=mid;
            }
            else{
                left=mid 1;
            }
        }
        return left;
    }
};

0 人点赞