2019-05-06 LeetCode81. 搜索旋转排序数组

2019-05-06  本文已影响0人  mztkenan

垃圾解法。。。。。觉得不应该找最小值的

class Solution:
    def search(self, nums: List[int], target: int) -> bool:
        if len(nums)==0:return False
        s,e=0,len(nums)-1
        while(s<e):
            m=(s+e)//2
            if(nums[m]>nums[e]):s=m+1
            elif(nums[m]==nums[e] and nums[m]==nums[s] and m!=s):return self.findOrder(nums,target)
            else:e=m
        if(target>nums[len(nums)-1]):return self.Binary(nums[:e],target)
        else:return self.Binary(nums[e:],target)
                
    def Binary(self,nums,target):
        s,e=0,len(nums)-1
        while(s<=e):
            m=(s+e)//2
            if(nums[m]==target):return True
            elif(nums[m]<target):s=m+1
            else:e=m-1
        return False
        
    def findOrder(self,nums,target):
        for i in nums:
            if(target==i):
                return True
        return False
上一篇 下一篇

猜你喜欢

热点阅读