【发布时间】:2019-12-13 04:18:27
【问题描述】:
给定一个数字列表,lst = [1, 1, 2, 4, 3, 2, 1, 1, 1, 2, 1, 4, 3, 1] 我如何找到小于或等于 4 的理想列表数量?
这里有很多可能性。目标是最小化可能列表的数量。该程序需要创建子集列表,如下所示:{4}, {4}, {3, 1}, ... , {1, 1}。
请注意最后一个列表子集如何不等于四,但它更少。这个问题很难,原因如下:
- 程序必须能够找到小于或等于总和的
subset-sums - 程序需要开始,首先查看最大值 ,将原始列表中的值删除到子列表中
【问题讨论】:
-
到目前为止你有什么尝试?
-
现在我刚刚想到了。我的教育是工程学,所以我希望在这里遇到一位对图论或其他知识了解更多的 CS。
-
子集最多包含两个元素?
{1,1,1}是可能的结果之一吗? -
{1, 1, 1}是一个可能的结果,是的。我不知道一个子集最多包含两个元素。 -
@GeneralCode 并不是要挖苦你。因此,我的算法在解决方案中没有 {1,1}。如果您必须验证算法,您能否发布一些示例输入和输出?
标签: python c++ dynamic tree subset-sum