python写算法题:leetcode: Add to List 33. Search in Rotated Sorted Array

来源:互联网 发布:华为大数据工程师待遇 编辑:程序博客网 时间:2024/06/05 03:45

https://leetcode.com/problems/search-in-rotated-sorted-array/description/

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


原创粉丝点击