从列表中找到条件最高的组合

如何解决从列表中找到条件最高的组合

所以我有一个360元素列表,我想找到11个数字组合的最高和,但要有条件。要使它更清晰一点:

1-获取列表作为输入

2-创建一个包含11个数字的组合列表

3-检查列表中的特定条件

4-如果是,请返回列表的总和

我试图使用itertools.combination然后检查条件,但是花了很长时间,只要我的清单很大,所以我想知道是否有一种方法可以先检查条件而不是创建所有组合然后过滤他们出来。

编辑:伙计们,我想您对我的问题不太了解。我想首先获得列表的组合(例如排列),而不仅仅是获得最高的11个数字

解决方法

为什么不对列表进行排序,降序,然后选择前11个?如果需要索引,则可以从原始列表中找到所需的数字。

import random
import pprint

original_items = random.choices(range(999),k=360)
pprint.pprint(original_items)

highest_11 = sorted(original_items,reverse=True)[:11]
pprint.pprint(highest_11)
,

通常,对列表进行排序,然后找到满足您条件的前11个数字。 即使您的条件不是确定性的,您仍然可以针对搜索本身将运行时缩短为线性(因此,运行时将取决于条件)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?