Faaez Razeen

Find Minimum in Rotated Sorted Array

  • 4 min read
  • LC-Medium
  • Binary-search

3 years ago

Solution

TimeSpaceExplanation
O(log n)O(1)
def findMin(self, nums: List[int]) -> int: ans = nums[0] l, r = 0, len(nums) - 1 while l <= r: if nums[l] < nums[r]: return min(ans, nums[l]) mid = (l + r) // 2 ans = min(ans, nums[mid]) if nums[mid] >= nums[l]: l = mid + 1 else: r = mid - 1 return ans

wtf solution that i found in a youtube comment

def findMin(self, nums: List[int]) -> int: l, r = 0, len(nums) - 1 while l < r: m = (l + r) // 2 if nums[m] > nums[r]: l = m + 1 else: r = m return nums[l]