Java递归实现
如果单纯的二分太不极客了。
递归万岁。
实现原理就是中间的数大于左边就往右边递归,中间的数大于左边就往左边递归。
public int minNumberInRotateArray(int [] array) {
if(array.length==0) return 0;
if(array[0] < array[array.length-1]||array.length==1) return array[0];
if(array.length==2) return array[1];
if(array[array.length/2]>array[0]) {
return minNumberInRotateArray(Arrays.copyOfRange(array,array.length/2+1,array.length));
}else{
return minNumberInRotateArray(Arrays.copyOfRange(array,0,array.length/2+1));
}
}


京公网安备 11010502036488号