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.
class Solution(object): def findMin(self, nums): """ :type nums: List[int] :rtype: int """ if len(nums) <= 0: return 0 if len(nums) == 1: return nums[0] size=len(nums) left=0 right=size-1 while (left<right) and (nums[left] >= nums[right]): mid = (left+right)/2 if nums[mid] > nums[right]: left=mid+1 elif nums[mid] < nums[left]: right=mid else: left+=1 return nums[left]