leetcode_find_minimum_in_rotated_sorted_array_ii 发表于 2016-12-07 难度:Medium 解题思路:如果遇到重复的,右边的index向前进一步。 代码如下: 1234567891011121314151617181920class Solution {public: int findMin(vector<int>& nums) { return find_min_with_binary(nums,0,nums.size()-1); } int find_min_with_binary(vector<int> &nums, int left, int right) { if(left == right) return nums[left]; else if(left+1 == right) return min(nums[left],nums[right]); int mid = left+(right-left)/2; if(nums[mid] < nums[right]) return min(nums[mid], find_min_with_binary(nums,left,mid)); else if(nums[mid] > nums[right]) return find_min_with_binary(nums,mid+1,right); else return find_min_with_binary(nums,left,right-1); }}; 运行结果:6ms,超过28.63%