美文网首页
2019-05-06 LeetCode81. 搜索旋转排序数组

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

作者: mztkenan | 来源:发表于2019-05-06 12:37 被阅读0次

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

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

相关文章

网友评论

      本文标题:2019-05-06 LeetCode81. 搜索旋转排序数组

      本文链接:https://www.haomeiwen.com/subject/xwsroqtx.html