要求:456123这样的数组找最小的即1
思路:二分,找左边界,返回left,这里二分有个问题是mid跟谁比较?答案是可以选最右边的数,可以把左边界定义为第一个小于nums[n-1]的数,这种毫无章法只能想清楚细节再写
class Solution {
public:
int findMin(vector& nums) {
int n=nums.size();
int left=0,right=n-1;
if(nums[left]<=nums[right])return nums[left];
while(left<=right){
int mid=left+(right-left>>1);
if(nums[mid]>nums[n-1])left=mid+1;
else right=mid-1;
}
return nums[left];
}
};



