A21089. 下面程序的运⾏结果为( )。def check(n, a, k, dist): cnt = 1 last = a for i in range(1, n): if a[i] - last >= dist: cnt += 1 last = a[i] return cnt >= k def solve(n, a, k): a.sort() l = 0 r = a[-1] - a while l<r:…
单选题
困难
知识点
题目描述
下面程序的运⾏结果为( )。
def check(n, a, k, dist):
cnt = 1
last = a
for i in range(1, n):
if a[i] - last >= dist:
cnt += 1
last = a[i]
return cnt >= k
def solve(n, a, k):
a.sort()
l = 0
r = a[-1] - a
while l<r:
mid=(l+r+1)//2
if check(n,a,k,mid):
l=mid
else
r=mid-1
return l
if __name__ == "__main__":
a = [1, 2, 8, 4, 9]
n = 5
k = 3
result = solve(n, a, k)
print(result)
选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题