Hot-33 搜索旋转排序数组

Hot-33 搜索旋转排序数组 解法1中间切一半一定有一半是有序的只处理有序就可以一直处理有序class Solution: def search(self, nums: List[int], target: int) - int: # 从中间切一刀至少有一半是有序的。 # 可以只搜索有序的那一边非常巧妙 left,right 0,len(nums)-1 while left right: mid (left right) // 2 if nums[mid] target: return mid # 左边有序 if nums[left] nums[mid]: if nums[left] target and target nums[mid]: right mid - 1 else: left mid 1 # 右边有序: else: if nums[mid] target and target nums[right]: left mid 1 else: right mid - 1 return -1