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
這道題還是很簡單的哈??紤]下特殊情況。然后寫一個簡單的Loop來比較大小就可以了。
代碼如下。
public class Solution { public int searchInsert(int[] nums, int target) { //special case if(nums==null||nums.length==0){ return 0; } //also special case if(target<=nums[0]){ return 0; } for(int i=0;i<nums.length-1;i++){ if(nums[i+1]>=target&&target>=nums[i]){ return i+1; } } return nums.length; }}
新聞熱點
疑難解答