154. Find Minimum in Rotated Sorted Array II
problem description
Input: [1,3,5]
Output: 1Input: [2,2,2,0,1]
Output: 0algorithm thought
code
algorithm analysis
Last updated
Input: [1,3,5]
Output: 1Input: [2,2,2,0,1]
Output: 0Last updated
class Solution {
public:
int findMin(vector<int>& nums) {
int left=0,right=nums.size()-1;
while(left<right){
while(left<right-1&&nums[left]==nums[right]){
left++;
}
if(nums[left]<nums[right])
return nums[left];
int mid=left+(right-left)/2;
if(mid==left||nums[mid]>=nums[left])
left=mid+1;
else
right=mid;
}
return nums[left];
}
};