2024-04-27 02:59:39 发布
网友
无论如何,有没有找到最大的数字,我可以选择从一个数字列表和总和不应超过15。例如:A=[2,5,3,1,10,4,5,9],B=15输出:5。你知道吗
我已经试过了:
A,B = map(int,input().split(" ")) A = list(map(int,input().split(" "))) A.sort()
# Precondition: a must be in monotonically increasing order def max_numbers(a, b): s = 0 for i, n in enumerate(a): s += n if s > b: return i print(max_numbers(a, b))
对列表排序。循环遍历列表,求和到当前循环索引。如果结果大于15,则返回上一个索引。你知道吗
A= [2,5,3,1,10,4,5,9] A.sort() for i in range(len(A)): if sum(A[:i]) > 15: print(i-1) break
输出:5
5
与@J.D.给出的答案类似,但不是每次都计算sum,我们可以使用变量sum,每次都添加一个元素并检查。你知道吗
sum
>>> A = [2,5,3,1,10,4,5,9] >>> A.sort() >>> sum = 0 >>> for i in range(len(A)): ... sum += A[i] ... if sum > 15: ... print(i) ... break ... 5
对列表排序。循环遍历列表,求和到当前循环索引。如果结果大于15,则返回上一个索引。你知道吗
输出:
5
与@J.D.给出的答案类似,但不是每次都计算
sum
,我们可以使用变量sum
,每次都添加一个元素并检查。你知道吗相关问题 更多 >
编程相关推荐