https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/
Note: This is the version that “may contain duplicates”, but solution is same as 153.
1. Use binary search:
//12 ms 12.3 MBclass Solution {public:int findMin(vector<int>& nums) {if(nums.empty()) return -1;return findMin(nums, 0, nums.size()-1);}private:int findMin(vector<int>& nums, int l, int r) {if(l == r)return nums[l];if(l+1 == r)return min(nums[l], nums[r]);//sorted in ascending order, num[l] is minimumif(nums[l] < nums[r])return nums[l];int median = l + (r - l) /2;return min(findMin(nums, l, median - 1), findMin(nums, median, r));}};
