这题和昨天那题搜索旋转排序数组很像,不同的是这题只要找出那个断点输出他的值就行了,比昨天那题还简单。
class Solution {
public:
int findMin(vector<int>& nums) {
int p=0,q=nums.size()-1;
while(p<q){
int mid=p+(q-p)/2;
if(nums[mid]>nums[mid+1]){
return nums[mid+1];
}
if(nums[mid]>=nums[0]){
p=mid+1;
}
else{
q=mid;
}
}
return nums[0];
}
};
简简单单拿下!