解题思路:
直接上二分查找,关键是通过比较nums[mid]和target的值,如果target的值要大,那么就将start=mid+1,向后截取;如果target的值要小于nums[mid],就将end=mid-1,向前截取。通过一次次的比较和缩小范围定位到查找的数。
代码部分:
class Solution {
public int searchInsert(int[] nums, int target) {
int len=nums.length;
int start=0,end=len-1;
while(start<=end){
int mid=start+(end-start)/2;
if(nums[mid]<target){
start=mid+1;
}else{
end=mid-1;
}
}
return start;
}
}