方法一:
二分查找:
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int left=0;
int right=nums.size()-1;
while(left<=right){
int mid=left+(right-left)/2;
if(nums[mid]==target){
return mid;
}
else if(nums[mid]<target){
left=mid+1;
}
else{
right=mid-1;
}
}
return left;
}
};
方法二:
遍历数组:
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int count=0;
for(int i=0;i<nums.size();i++){
if(nums[i]<target){
count++;
}
}
return count;
}
};
方法三:
递归: