Leetcode Tag Search | Back

704. Binary Search

Category: /leetcode

Leetcode Link

Given a sorted (in ascending order) integer array nums of n elements and a target value, write a function to search target in nums. If target exists, then return its index, otherwise return -1.

Example 1:

Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Explanation: 9 exists in nums and its index is 4

Solution:

  • Binary search template
def search(self, nums: List[int], target: int) -> int:
  if not nums: return -1
  l, r = 0, len(nums) - 1
  while l <= r:
    m = (l + r) // 2
    if nums[m] == target:
      return m
    elif nums[m] < target: 
      l = m + 1
    else:
      r = m - 1
  return -1

讨论

提示

  • 如果看不到讨论部分, 请暂时关掉adblock in Firefox/Chrome
  • 本网站使用Javascript实现评论功能, 此处外链对提高您的网站PR没有帮助. (潜台词: 请不要灌水, 谢谢)