private int minNumberInRotateArray(int [] array) { if (array == null || array.length == 0) { throw new RuntimeException("input is invalid"); } int index1 = 0; int index2 = array.length-1; int indexMid = index1; while (array[index1] >= array[index2]) { if (index2 - index1 == 1) { indexMid = index2; } indexMid = (index1 + index2)/2; if (array[indexMid] >= array[index2]) { index1 = indexMid; } else { index2 = indexMid; } } return array[indexMid]; }
原文:https://www.cnblogs.com/zhwcs/p/10388676.html