您的位置:首页 > 其它

find Minimum and Maximum in Rotated Sorted Arrray

2016-01-26 05:00 232 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fredlumm/article/details/50584933
int findMin(vector<int>& nums) {
int start = 0;
int end = nums.size() - 1;
while(start + 1 < end){
int mid = start + (end - start)/2;
if(nums[mid] < nums[end]){
end = mid;
}
else{
start = mid;
}
}
if(nums[start] > nums[end]){
return nums[end];
}
else{
return nums[start];
}
}


就是二分搜索的简单运用,区别在于不断和 end 所在的数进行比较大小,从而更新 start 和 end

---------------------

findMax:

同理,唯一的区别在于不断和 start 所在的数进行比较大小

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: