A60989. 若数组 a 已按升序排列,则下面代码可以正确实现 “在 a 中查找第一个大于等于 x 的元素的位置”。1 def lowerBound(a, x)
判断题
知识点
题目描述
若数组 a 已按升序排列,则下面代码可以正确实现 “在 a 中查找第一个大于等于 x 的元素的位置”。
1 def lowerBound(a, x):
2 l = 0
3 r = len(a)
4 while l < r:
5 mid = (l + r) // 2
6 if a[mid] >= x:
7 r = mid
8 else:
9 l = mid + 1
10 return l
11
12 if __name__ == "__main__":
13 a1 = [1, 3, 5, 7, 9]
14 x1 = 5
15 print(f"数组{a1}中第一个≥{x1}的位置:{lowerBound(a1, x1)}")
16
17 x2 = 6
18 print(f"数组{a1}中第一个≥{x2}的位置:{lowerBound(a1, x2)}")
19
20 x3 = 10
21 print(f"数组{a1}中第一个≥{x3}的位置:{lowerBound(a1, x3)}")
22
23 x4 = 0
24 print(f"数组{a1}中第一个≥{x4}的位置:{lowerBound(a1, x4)}")选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员