一、问题描述
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 a sorted array 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.
二、思路
返回数组的最小元素,思路和 Find Minimum in Rotated Sorted Array类似,唯一不同的是,我们需要将当前翻转位置和最小值进行比较。
三、代码
class Solution {
public:
int findMin(vector<int>& nums) {
int minNum = nums[0];
for(int i = 0; i < nums.size() - 1; ++i){
if(nums[i] > nums[i + 1]){
if(nums[i + 1] < minNum){
minNum = nums[i + 1];
}
}
}
return minNum;
}
};