垃圾解法。。。。。觉得不应该找最小值的
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
网友评论