154. Find Minimum in Rotated Sorted Array II
Description
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.
Note:
This is a follow up problem to Find Minimum in Rotated Sorted Array.
Would allow duplicates affect the run-time complexity? How and why?
Constraints
Approach
Links
GeeksforGeeks
YouTube
Examples
Input: [1, 3, 5]
Output: 1
Solutions
/**
* Time complexity : O(N)
* Space complexity : O(1)
*/
class Solution {
public int findMin(int[] nums) {
if(nums == null || nums.length == 0) return 0;
int n = nums.length;
int i = 1;
while(i < n && nums[i-1] <= nums[i]) {
i++;
}
if(i >= n) return nums[0];
return nums[i];
}
}
Follow up
Last updated
Was this helpful?