题目地址:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/
class Solution:
def search(self, nums: List[int], target: int) -> int:
if not nums: return -1
l, r = 0, len(nums) - 1
while l < r:
mid = (l + r) // 2
if nums[mid] == target:
return mid
if nums[0] < nums[mid]:
if nums[0] <= target < nums[mid]:
r = mid - 1
else:
l = mid + 1
else:
if nums[mid] < target <= nums[r]:
l = mid + 1
else:
r = mid - 1
return l if nums[l] == target else -1
昨天看了题解写的