class Solution { public: int minNumberInRotateArray(vector<int> rotateArray) { int l = 0; int r = rotateArray.size() - 1; while (l <= r) { int mid = l + (r - l) / 2; if (rotateArray[mid] > rotateArray[r]) { l = mid + 1; } else if (rotateArray[mid] < rotateArray[r]) { r = mid; } else { r--; } } return rotateArray[l]; } };