LC 速查

HOT 100索引 › B11 二分查找 Binary Search

LC 35搜索插入位置Search Insert Position 简单

在升序数组中查找 target,找到返回其下标,不存在则返回它按顺序插入后的位置。

思路 二分求第一个大于等于 target 的位置(bisect_left 含义):nums[mid]<target 时收缩左界,l 即答案。O(log n)。

class Solution:
    def searchInsert(self, nums: List[int],
                     target: int) -> int:
        left, right = 0, len(nums)
        while left < right:
            mid = (left + right) // 2
            if nums[mid] < target:
                left = mid + 1
            else:
                right = mid
        return left
← 上一题 N 皇后搜索二维矩阵 下一题 →