# 二分查找法
class Solution:
def search(self, nums: List[int], target: int) -> int:
# 边界条件
if not nums:
return -1
# 左右指针
left, right = 0, len(nums)-1
# 循环体
while left <= right:
# 中间值
mid = left + (right-left)//2
# 等于目标值
if nums[mid] == target:
return mid
# 大于目标值
elif nums[mid] >target:
# 移动右指针
right = mid -1
# 小于目标值
else:
# 移动左指针
left = mid + 1
# 未找到
return -1