在有序数组中寻找最恰当插入target的位置:对于在有序数组中查找元素,直接二分法。
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int left=0,right=nums.size()-1;
int mid=(left+right)/2;
while(left<right)
{
if(nums[mid]<target)
left=mid+1;
if(nums[mid]>target)
right=mid-1;
if(nums[mid]==target)
return mid;
mid=(left+right)/2;
}
if(nums[left]<target)
return left+1;
else
return left;
}
};