class Solution {
public:
int findMin(vector<int>& nums) {
int n =nums.size()-1;
if(n<0)return -1;//空数组
while(nums[n]==nums[0])n--;//清掉后面与第一个元素相等的数
if(nums[0]<nums[n])return nums[0];//如果该数组旋转了0个元素的话
int l=0,r=n;
while(l<r){
int mid = r+l>>1;
if(nums[0]>nums[mid]){
r=mid;
}
else l=mid+1;
}
return nums[r];
}
};