1. 程式人生 > >數組中找到目標值,並返回其索引

數組中找到目標值,並返回其索引

重復 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; }

數組中找到目標值,並返回其索引