LeetCode 35. 搜索插入位置

题目描述

 

例子与分析

   其实就是使用二分法查找,主要学习的点:如果没有这个元素,应该如何返回要插入的位置。

 

 

题目解析

 先正常的写二分法,但是如果没有该元素,那么最后应该返回左边界,也就是low。

代码

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int low=0,high=nums.size()-1,mid;
        while(low<=high){
            mid =  low + (high - low)/2 ; //这样写避免整形溢出
            if(nums[mid] == target){
                return mid;
            }else if(nums[mid]<target){
                low = mid+1;
            }else{
                high = mid-1;
            }
        }
        return low; //返回左边界
    }
};

 

posted @ 2021-11-08 13:33  Acc22222222  阅读(27)  评论(0)    收藏  举报