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; //返回左边界 } };