已按升序排列的数组a,给定Python代码能否正确实现查找第一个大于等于x的元素的位置?

mx917916 判断题 共 个子题

若数组a已按升序排列,给定以下Python代码:

def lowerBound(a, x):
    l = 0
    r = len(a)
    while l < r:
        mid = (l + r) // 2
        if a[mid] >= x:
            r = mid
        else:
            l = mid + 1
    return l

if __name__ == "__main__":
    a1 = [1, 3, 5, 7, 9]
    x1 = 5
    print(f"数组{a1}中第一个≥{x1}的位置:{lowerBound(a1, x1)}")
    x2 = 6
    print(f"数组{a1}中第一个≥{x2}的位置:{lowerBound(a1, x2)}")
    x3 = 10
    print(f"数组{a1}中第一个≥{x3}的位置:{lowerBound(a1, x3)}")
    x4 = 0
    print(f"数组{a1}中第一个≥{x4}的位置:{lowerBound(a1, x4)}")
A

正确

B

错误

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧