二分查找
时间复杂度:O(logN)
C++代码:
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if (nums.empty())
return 0;
if (*nums.rbegin() < target)
return nums.size();
if (*nums.begin() > target)
return 0;
int beg = 0, end = nums.size() - 1;
while (beg != end)
{
int mid = (beg + end) >> 1;
if (nums[mid] < target)
beg = mid + 1;
else
end = mid;
}
return beg;
}
};