我目前正在寻找有关如何使用这些规则找到一组数字的所有可能总和的想法。我要处理这些数字,我想找到所有可能的总和,以便您最多只能使用一个数字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,但我并不认为这很重要。

最佳答案

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

10-04 19:10