1. 程式人生 > >python leetcode 33. Search in Rotated Sorted Array

python leetcode 33. Search in Rotated Sorted Array

二分查詢,注意if判斷和退出迴圈的條件

class Solution(object):
    def search(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        start = 0 
        end = len(nums) - 1 
        while start<=end:
            mid = (start+end)//2
            if
nums[mid] == target: return mid if nums[mid]>=nums[start]: if nums[mid]> target and nums[start]<=target: end = mid-1 else: start = mid + 1 if nums[mid]<nums[end]
: if nums[mid]< target and nums[end]>=target: start = mid+1 else: end = mid - 1 return -1