1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class Solution { public: int minArray(vector<int>& numbers) { int lo = 0, hi = numbers.size() - 1; while(lo < hi) { int mid = (lo + hi) / 2; if(numbers[mid] > numbers[hi]) lo = mid + 1; else if(numbers[mid] < numbers[hi]) hi = mid; else --hi; } return numbers[hi]; } };
|