题解 | #二分查找-II#
二分查找-II
http://www.nowcoder.com/practice/4f470d1d3b734f8aaf2afb014185b395
超过87%java
public int search (int[] nums, int target) {
// write code here
return erfen(nums, 0, nums.length - 1, target);
}
public static int erfen(int[]arr,int low,int high, int target){
int erfen=-1;
if (low<=high){
int mid = (low+high)/2;
if (arr[mid]>target){
erfen = erfen(arr, low, mid-1, target);
}
if (arr[mid]==target){
erfen= mid;
int erfen1 = erfen(arr, low, mid - 1, target);
if (-1<erfen1 && erfen1<erfen){
erfen=erfen1;
}
}
if (arr[mid]<target){
erfen = erfen(arr, mid+1, high, target);
}
}
return erfen;
}
查看14道真题和解析