查找集合的所有可能总和

时间:2014-08-06 16:34:50

标签: java arrays set

我目前正在寻找有关如何使用这些规则查找一组数字的所有可能总和的想法。我有这些数字可以使用,我想找到所有可能的总和,这样你最多只能使用一个数字4次,每次你选择其中7个数字。

{0,1,5,22,98,453,2031,8698,22854,83661,262349,636345和1479181}

可接受的例子是

0 + 0 + 0 + 0 + 83661 + 83661 + 2031

不可接受的例子是

0 + 0 + 0 + 0 + 0 + 83661 + 2031

我能想到的唯一方法是一系列嵌套循环,但我也遇到了麻烦。是否还有其他选择可以做到这一点。我正在使用Java,但我认为这并不重要。

1 个答案:

答案 0 :(得分:3)

您可以通过构建一个新的元素列表来实现这一点,该元素列表包含重复4次的给定集合的每个元素。然后使用DFS策略方法来构建可能的总和组合。了解如何实施DFS检查this answer