public int minNumberInRotateArray(int [] array) {
int len = array.length;
if (len == 0) return 0;
int p = 0;
int q = len - 1;
while (true){
if (p + 1 <= len - 1 && array[p + 1] >= array[p]) p++;
if (q - 1 >= 0 && array[q - 1] <= array[q])q--;
if (q - p <= 1) break;
}
return array[q];
} 
京公网安备 11010502036488号