leetcode_find_minimum_in_rotated_sorted_array

难度:Medium

解题思路:二分查找的题目。类似题目

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class 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
return find_min_with_binary(nums,mid+1,right);
}
};

运行结果:6ms,超过1.6%