Problem: 35. 搜索插入位置
思路
因为数组是不降序且是无重复的,因此可以使用二分查找,如果查找到了mid,就直接返回,如果没找到就返回left,因为left就是这个数应该插入的位置。
解题方法
因为数组是不降序且是无重复的,因此可以使用二分查找,如果查找到了mid,就直接返回,如果没找到就返回left,因为left就是这个数应该插入的位置。
复杂度
时间复杂度:
时间复杂度, 示例: O ( l o g n ) O(logn) O(logn)
Code
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int rigth=nums.size()-1,left=0,mid;
while(left<=rigth){
mid=left+(rigth-left)/2;
if(nums[mid]>target){
rigth=mid-1;
}
else if(nums[mid]<target){
left=mid+1;
}
else{
return mid;
}
}
return left;
}
};