就是利用二分查找,找到一个——目标点<=target
如果等于target直接返回下标,不等于就在此处插入
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
//找到第一个大于或等于目标值target
int n = nums.size();
int left = 0,right=n-1,ans=n;
while(left <= right){
int mid = ((right-left)/2)+left;
if(target <= nums[mid]){
ans = mid;
right = mid -1;
}else{
left = mid +1;
}
}
return ans;
}
};