算法1
思想:该题实际上也是找到数组中大于等于target的最小的元素的索引
时间复杂度
O(logn)
C++ 代码
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if(nums.empty() || nums.back() < target) return nums.size();
int l = 0, r = nums.size() - 1;
while(l < r)
{
int mid = l + r>> 1;
if(nums[mid] >= target) r = mid; //考虑l,r的更新方式时,不要考虑nums[mid] == target的情况,不然容易迷糊。
else l = mid + 1;
}
return r;
}
};