题目:35. 搜索插入位置
暴力解法:
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int x=0;
for(int i=0;i<nums.size();i++){
if (nums[i]==target) return i;
if (nums[i]<target) x = i+1;
}
return x;
}
};
二分法:
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int left=0,right=nums.size()-1;
while(left>=right){
int middle=(left+right)/2;
if(target==nums[middle])return middle;
else if (target<nums[middle]){
right=middle-1;
}
else if (target>nums[middle]){
left=middle+1;
}
}return left;
}
};