A21079. 若数组 a 已按升序排列,则下面代码可以正确实现“在a 中查找第一个大于等于x 的元素的位置”。( )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__":…
判断题
困难
知识点
题目描述
若数组 a 已按升序排列,则下面代码可以正确实现“在a 中查找第一个大于等于x 的元素的位置”。( )
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)}")选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题