154. Find Minimum in Rotated Sorted Array II & 153. Find Minimum in Rotated Sorted Array
来源:互联网 发布:品牌网络宣传 编辑:程序博客网 时间:2024/05/16 07:07
Follow up for "Find Minimum in Rotated Sorted Array":
What if duplicates are allowed?Would this affect the run-time complexity? How and why?
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7
might become 4 5 6 7 0 1 2
).
Find the minimum element.
The array may contain duplicates.
Subscribe to see which companies asked this question.
找出经过旋转后的有序数组中的最小值。154题和153题是差不多的,只不过是154题允许出现重复的数,而153题不允许。直接解决154题就能解决153题了!用二分法搜索最小值。可以发现旋转之后是分为两个升序部分的。拿mid对应的值与当前子序列的尾部值对比(子序列由left和right索引值确定),如果是大于关系,说明了最小值肯定实在第二部分,而且不在mid处,所以令left=mid+1;如果是小于关系,说明最小值在第一部分,也有可能在mid处,所以令right=mid;如果是相等关系,那就难说了,有可能是类似“0111”和“7111”这两种情况,但left和right总是要改变的不然就无限循环了,可以发现right--总是对的,所以就right--好了。最后返回nums[mid]即可。
代码:
class Solution {public:int findMin(vector<int>& nums){int left = 0, right = nums.size()-1, mid;while(left < right){mid = left + (right - left) / 2;if(nums[mid] > nums[right]){left = mid + 1;}else if(nums[mid] < nums[right]){right = mid;}else{right--;}}return nums[left];}};
- 154. Find Minimum in Rotated Sorted Array II & 153. Find Minimum in Rotated Sorted Array
- 153. Find Minimum in Rotated Sorted Array && 154. Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- endnote编辑经验
- style
- 怎么在iMindMap中插入浮动文本
- Activity、View、Window、DecorView的关系
- ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE
- 154. Find Minimum in Rotated Sorted Array II & 153. Find Minimum in Rotated Sorted Array
- jsp九大内置对象
- JHipster创建过程中的问题
- 交换排序
- 【Web如何提速之第一弹】为什么你的JS运行得这么慢?
- 常对象c++函数后面的CONST代表if的作用域
- android 编译SDK
- 我校邢达教授连续三年入选爱思唯尔
- AngularJS--[ng:areq] Argument 'xxCtrl' is not a function, got undefined!错误