704. Binary Search
https://leetcode.com/problems/binary-search/
solution
左闭右闭
class Solution:
def search(self, nums: List[int], target: int) -> int:
l = 0
r = len(nums) - 1 # 闭区间
while l <= r: # 可能相等
mid = l + (r - l) // 2
if nums[mid] > target:
r = mid - 1 # right - 1
elif nums[mid] < target:
l = mid + 1
else:
return mid # 输出mid
return -1时间复杂度:O(logn) 空间复杂度:O(1)
左闭右开
左闭右开-lower bound
左闭右开-higher bound
follow up
Last updated