题目描述:
image.png
示例:
image.png
解题思路:
1.常规法
2.二分查找法

解:

1.常规法

public int searchInsert(int[] nums, int target) {
if(nums==null || nums.length==0){
return -1;
}
for(int i=0;i if(nums[i]>=target){//找第一个比target大的数或等于target的数
return i;
}
}
return nums.length;
}

2.二分查找法

public int searchInsert(int[] nums, int target) {
if(nums==null || nums.length==0){
return -1;
}
int l=0;
int r=nums.length-1;
while(l int mid=(l+r)/2;
if(nums[mid]==target){
return mid;
}else if(nums[mid]>target){
r=mid-1;
}else{
l=mid+1;
}
}
return nums[l] }