Skip to content

Latest commit

 

History

History
20 lines (20 loc) · 650 Bytes

33. 搜索旋转排序数组.md

File metadata and controls

20 lines (20 loc) · 650 Bytes
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 target == nums[mid]:
                return mid
            if nums[left] <= nums[mid]: #左边有序 这里一定要等于
                if nums[left] <= target < nums[mid]:
                    right = mid-1
                else:
                    left = mid+1
            else:
                if nums[mid] < target <= nums[right]:
                    left = mid+1
                else:
                    right = mid-1
        return -1