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)); } }