数组插入数的下标位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
思路:二分,注意一下最后循环结束时,游标r的位置,不清楚可以加一个判断语句,如果num是【r】大于等于target那么是r,否则就是r+1的位置
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if(nums.empty()) return 0;
int l=0,r=nums.size()-1;
while(l<r){
int mid=(l+r)/2;
if(nums[mid]==target) return mid;
if(nums[mid]<target) l=mid+1;
else r=mid;
}
return nums[r]>=target?r:r+1;
}
};