class Solution(object):
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: bool
"""
if not nums:
return False
n=len(nums)
l,r=0,n-1
while l<=r:
mid=l+(r-l)/2
if nums[mid]==target:
return True
elif nums[mid]>nums[l]:
if nums[l]<=target <=nums[mid]:
r=mid-1
else:
l=mid+1
elif nums[mid]<nums[l]:
if nums[mid]<=target<=nums[r]:
l=mid+1
else:
r=mid-1
else:
l+=1
return False
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: bool
"""
if not nums:
return False
n=len(nums)
l,r=0,n-1
while l<=r:
mid=l+(r-l)/2
if nums[mid]==target:
return True
elif nums[mid]>nums[l]:
if nums[l]<=target <=nums[mid]:
r=mid-1
else:
l=mid+1
elif nums[mid]<nums[l]:
if nums[mid]<=target<=nums[r]:
l=mid+1
else:
r=mid-1
else:
l+=1
return False