如何从可重复的数字列表中查找设定的数值?

时间:2016-11-08 19:45:50

标签: algorithm

我是Java的新手,我需要编写一个算法来查找与数字列表中给定总数匹配的数字集。

您需要从一个数字列表中获得一个号码。

总和:10

列表:3 6 7 5 2 8 4

您还被告知在总和中必须使用多少个数字。

数:3

结果需要在列表中包含相同数字的重复,如下所示:

结果:

3 + 3 + 4 = 10

3 + 5 + 3 = 10

4 + 4 + 2 = 10

Total,List&计数值可以更改,因此算法需要允许变量值。

限制: 列表中最多可以有100个整数。 列表中的数字可以在1到100之间变化。 最大总和为1000 最大数量为25 所有整数都是正值。

以下代码有效,但不适合重复数字;

N = 10;
M = 3;
Input = "7 3 6 7 5 2 8 4";
String[] items = Input.split(" ");

for (int i = 0; i < items.length; i++) {
    for (int j = i + 1; j < items.length; j++) {
        for (int k = j + 1; k < items.length; k++) {
            if (Integer.parseInt(items[i]) + Integer.parseInt(items[j]) + Integer.parseInt(items[k]) == N) {
            System.out.println(items[i] + " + " + items[j] + " + " + items[k] +" = " + N);
               }
           }
       }
   }

提前感谢您的帮助,

的Darren

0 个答案:

没有答案