153_Find Minimum in Rotated Sorted Array
Last updated
Last updated
def findMin(nums):
"""
:type nums: List[int]
:rtype: int
"""
left, right = 0, len(nums)-1
while left <= right:
middle = left + (right - left)//2
if middle >= 1 and nums[middle-1] > nums[middle]:
return nums[middle]
elif nums[left] > nums[middle]:
# the minimum element must be in the left part
right = middle - 1
elif nums[middle] > nums[right]:
# the minimum element must be in the right part
left = middle + 1
else:
# every element is in ascending order, the minimum element is the leftmost element
return nums[left]