给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1
二分查找算法的时间复杂度是O(log2n)
class Solution:
def search(self, nums: List[int], target: int) -> int:
if not nums:
return -1
low=0
high=len(nums)-1
while low<=high:
mid=(low+high)//2
if nums[mid]==target:
return mid
if nums[mid]<target:
low=mid+1
if nums[mid]>target:
high=mid-1
return -1