classSolution:defsearch(self, nums: List[int], target:int)->int:
left =0
right =len(nums)-1while left <= right:
mid = left +(right - left)//2if nums[mid]== target:return mid
if nums[mid]> target:
right = mid -1if nums[mid]< target:
left = mid +1return-1
classSolution:defsearch(self, nums: List[int], target:int)->int:
left =0
right =len(nums)-1defbinarySearch(left, right):if left > right:return-1
mid = left +(right - left)//2if nums[mid]== target:return mid
if nums[mid]> target:return binarySearch(left, mid -1)if nums[mid]< target:return binarySearch(mid +1, right)return binarySearch(left, right)