可能重复:
找到所有可能的数字组合以达到给定的总和
我必须创建从数字数组中选择数字的方法,其总和将与所需的数字完全相同,或者如果不存在则选择最小的更大的数字。这个函数的算法是什么?
public int[] selectExactSum(int[] X, int SUM) {
}
示例:数字为:{5, 2, 8, 4, 6},所需总和为 12。
结果将是:{2, 4, 6}
如果所需的总和是 13,则结果将是:{2, 8, 4} - 因此,在这种情况下,总和将是 14 - 第一个最小的更大的一个。
如果所需的总和为 15,则可能的结果为:{5, 2, 8} 或 {5, 4, 6}。在这种情况下,返回您选择的一个 - 可能是您得到的第一个。
自定义数字和总和的算法是什么?
谢谢,西蒙