二分查找

方法一二分查找

参考代码

  1. class Solution:
  2. def search(self, nums: List[int], target: int) -> int:
  3. low,high = 0,len(nums) - 1
  4. while low <= high:
  5. mid = (high + low) // 2
  6. if target == nums[mid]:
  7. return mid
  8. if target > nums[mid]:
  9. low = mid + 1
  10. else:
  11. high = mid - 1
  12. return -1

复杂度分析

时间复杂度 O(logn)
空间复杂度O(1)