题目描述:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/
二分法,如果某一半是单增的,那么最小值一定在另一半或者这一半的头位置。
class Solution {
public:
int findMin(vector<int> &nums) {
int head=0;
int tail=nums.size()-1;
if (nums[head]<nums[tail]) return nums[head];
while(head<tail)
{
int mid=(head+tail)/2;
if (nums[mid]<nums[tail]) tail=mid;
else head=mid+1;
}
return nums[head];
}
};