1def search(nums, target):
2 left = 0
3 right = len(nums) - 1
4
5 while left <= right:
6 mid = (left + right) // 2
7
8 if nums[mid] == target:
9 return mid
10
11 if nums[left] <= nums[mid]:
12 if nums[left] <= target < nums[mid]:
13 right = mid - 1
14 else:
15 left = mid + 1
16 else:
17 if nums[mid] < target <= nums[right]:
18 left = mid + 1
19 else:
20 right = mid - 1
21
22 return -1