给定一个排好序的数组,和一个目标值,求找出能够插入的位置
数组的元素没有重复
额,这道题直接二分查找,就能找到位置了,就是上一道题的弱化版,可以点进去看看
Leetcode #34. Search for a Range 范围搜寻 解题报告
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0
public class Solution {
//二分查找
public int searchInsert(int[] nums, int target) {
int start=0,end=nums.length,mid;
while(start<=end){
if(start==nums.length)
return start;
mid=(start+end)/2;
if(nums[mid]==target)
return mid;
if(nums[mid]1;
}
else{
end=mid-1;
}
}
return start;
}
}