Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 求集合的所有可能和_Java_Arrays_Set - Fatal编程技术网

Java 求集合的所有可能和

Java 求集合的所有可能和,java,arrays,set,Java,Arrays,Set,我目前正在寻找如何根据这些规则找到一组数字的所有可能和的想法。我有这些数字要处理,我想找到所有可能的总和,这样你最多只能使用一个数字4次,每次你从这些数字中选择7次 {0、1、5、22、98、453、2031、8698、22854、83661、262349、636345和1479181} 可以接受的例子是 0+0+0+0+0+83661+83661+2031 不可接受的例子是 0+0+0+0+0+0+83661+2031 我能想到的唯一方法是一系列嵌套循环,但我也遇到了麻烦。有没有其他办法可以做

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

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

可以接受的例子是

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

不可接受的例子是

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


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

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

您想过使用递归吗?这可能对你的目的最有效。应该有算法来查找所有的组合——也就是说,如果你有一个集合,那么就查找所有正好有7个元素的子集。现在使用包含原始集合中每个元素的4个副本的多集合来执行此操作。(但这将使您获得大量重复子集…)