a=[5,14,3,12,6,7,3,9,20,1]
l=min(a);r=max(a)
#min 取列表最小值,max 取列表最大值
maxi=3
while l<=r:
mid=(l+r)//2
cnt=0
for i in a:
if mid < i:
cnt+=1
if cnt < maxi:
r=mid-1
else:
l=mid+1
上述程序段执行结束,下列说法正确的是:( )
A.a列表中第3大的数r | B.cnt的值为2 |
C.l的值为12 | D.mid=(l+r)//2代码执行3次 |

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

