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