數組中找到目標值,並返回其索引
阿新 • • 發佈:2019-03-01
重復 targe return sea ear color arr arc 查找
問題描述:
給定一個排序數組和一個目標值,在數組中找到目標值,並返回其索引。如果目標值不存在於數組中,
返回它將會被按順序插入的位置。你可以假設數組中無重復元素。
示例 1:
輸入: [1,3,5,6], 5
輸出: 2
示例 2:
輸入: [1,3,5,6], 2
輸出: 1
示例 3:
輸入: [1,3,5,6], 7
輸出: 4
示例 4:
輸入: [1,3,5,6], 0
輸出: 0
代碼如下:
/** * * @param arr * @param target * @return * 此題我用二分查找來做*/ public static int searchInsert(int[] arr,int target) { int start = 0; int end = arr.length - 1; while(start<=end) { int mid = (end - start) / 2 + start; if(arr[mid] == target) { return mid; }else if(arr[mid]<target) { start= mid + 1; }else if(arr[mid]>target){ end = mid - 1; } } if(start>0) return arr.length; return 0; }
數組中找到目標值,並返回其索引