Faaez Razeen

Search in Rotated Sorted Array

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

3 years ago

Solution

TimeSpaceExplanation
O()O()
def search(self, nums: List[int], target: int) -> int: l, r = 0, len(nums) - 1 while l <= r: mid = (l + r) // 2 if nums[mid] == target: return mid # if we are in left sorted portion of array, check if target is in bounds if nums[mid] >= nums[l]: if target < nums[l] or target > nums[mid]: l = mid + 1 else: r = mid - 1 # if we are in right sorted portion of array, check if target is in bounds else: if target < nums[mid] or target > nums[r]: r = mid - 1 else: l = mid + 1 return -1