第28586题 单选题
以下哪个代码片段可以正确实现升序整数数组的左边界查找(即找到第一个大于等于目标值target的元素下标,若所有元素均小于target则返回数组长度n)?

给定升序整数数组nums与目标值target,需实现标准的lower_bound功能,下列四个Python实现中哪一个是正确的?

A
def lower_bound(nums, target):
    left, right = 0, len(nums) - 1
    while left <= right:
        mid = left + (right - left) // 2
        if nums[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    return left
B
def lower_bound(nums, target):
    left, right = 0, len(nums) -1
    while left <= right:
        mid = left + (right - left) //2
        if nums[mid] < target:
            left = mid
        else:
            right = mid -1
    return left
C
def lower_bound(nums, target):
    left, right = 0, len(nums) -1
    while left < right:
        mid = left + (right - left) //2
        if nums[mid] < target:
            left = mid +1
        else:
            right = mid
    return left
D
def lower_bound(nums, target):
    left, right = 0, len(nums) -1
    while left <= right:
        mid = left + (right - left) //2
        if nums[mid] > target:
            right = mid -1
        else:
            left = mid +1
    return right
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析