题意:给你一个升序的数组,一个目标值,如果目标值存在于数组中,返回下标值,否则,插入一个合适的下标,使得数组仍是升序。
思路:二分查找。
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int l = 0,r = nums.size()-1;
while(l<=r)
{
int mid = (l+r+1)/2;
if(nums[mid]==target)
{
return mid;
}
if(nums[mid]<target)
{
l =mid+1;
}
else
{
r = mid-1;
}
}
return l;
}
};