1class Solution:2def search(self, nums: List[int], target: int) -> int:3l, r = 0, len(nums) - 145while l <= r:6mid = (l + r) // 27if target == nums[mid]:8return mid910if nums[l] <= nums[mid]:11if target > nums[mid] or target < nums[l]:12l = mid + 113else:14r = mid - 11516else:17if target < nums[mid] or target > nums[r]:18r = mid - 119else:20l = mid + 12122return -1