![]() |
1
3
这确实是 subset sum problem :
证明它是NP完全的:
它在NP中,因为它可以在多项式时间内验证:给定一个潜在的解决方案,只需将子集中的数字相加,看看它们是否与
它是 NP完成 ,在一般情况下,无法使用Python或其他方式快速解决此问题:
|
![]() |
2
0
正如@Claudiu很好地解释的那样,这些问题是NP完全的,你不能以有效或一般的方式来解决它们,但在这种情况下,作为一种特殊而不太有效的方式,你可以发挥作用
在这种方法中,首先您需要所有可能的长度,这些长度之和等于您的主要列表长度,为此,您可以使用以下列表理解:
然后,您需要获取长度为1到
最后你需要根据
|
![]() |
Elis Mower · 在子集和组合中过滤重复项 7 年前 |
![]() |
rosacart · 如何在多项式时间算法中从一组整数中只选取4组整数 9 年前 |
![]() |
Chad Larson · 子集列表以添加到另一列表中的元素 9 年前 |
![]() |
Matt K · 求幂集的加权子集和的最大值 9 年前 |