【发布时间】:2020-10-13 14:10:49
【问题描述】:
所以我有一个 360 元素列表,我想找到 11 个数字组合的最大总和,但有一个条件。让它更清楚一点:
1-获取一个列表作为输入
2-创建11个数字的组合列表
3-检查特定条件的列表
4-如果是,返回列表的总和
我尝试使用 itertools.combination 然后检查条件,但只要我的列表真的很大,它就需要很长时间。所以我想知道是否有一种方法可以先检查条件而不是创建所有组合然后过滤他们出去。
编辑:伙计们,我认为您没有很好地理解我的问题。我想首先获得列表的组合(例如排列),而不仅仅是最高的 11 个数字
【问题讨论】:
-
您的具体情况如何?总和应该是最大值?
-
为什么不
sorted列表,降序,然后选择前11 个?如果你需要索引,你可以从原始列表中find你需要的数字。
标签: python arrays python-3.x combinations itertools