本题源自leetcode 154
---------------------------------
思路:
代码:
int findMin(vector<int>& nums) {
int n = nums.size();
if(n == 0)
return 0;
int start = 0;
int end = n-1;
int res = 0;
while(start < end){
int mid = (start + end) >> 1;
if(nums[mid] < nums[end]){ //右边升序
end=mid;
}else if(nums[mid] > nums[end]){ //右边降序
start = mid + 1;
}else{
end--;
}
}
return nums[start];
}