1刷
会了无敌的二分这题更加简单,直接就是lower——bound的功能
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int len = nums.size();
int first = 0;
while(len > 0){
int half = len >> 1;
int mid = first + half;
if(nums[mid] < target){
first = mid + 1;
len = len -half - 1;
}
else
len = half;
}
return first;
}
};
2刷
还是复习无敌2分,可以一直3刷
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int first = 0, middle;
int half, len = nums.size();
while(len > 0){
half = len >> 1;
middle = first + half;
if(nums[middle] < target){
first = middle + 1;
len = len - half - 1;
}
else len = half;
}
return first;
}
};