class Solution:
def search(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums) - 1
self.idx = -1
self.divide(nums, left, right, target)
return self.idx
def divide(self, nums, left, right, target):
if left > right:
return
mid = left + right
if nums[mid] == target:
self.idx = mid
elif nums[mid] > target or nums[left] > nums[right]:
self.divide(nums, left, mid - 1, target)
elif nums[mid] < target or nums[left] > nums[right]:
self.divide(nums, mid + 1, right, target)
33. 搜索旋转排序数组
最新推荐文章于 2022-08-01 14:14:21 发布