Java 在整数数组中求和为给定数的最小集
给定s和一个正整数数组,求元素加起来等于s的最小子集。例如,给定数组{1,2,3,4,5}和s=8,最小子集为{3,5} 到目前为止,我可以通过使用递归的贪婪方法来求解数组中的一组整数,但是我找不到如何找到最小子集。有没有我应该研究的特定算法 这就是“零一等式背包问题”。它是NP完全问题。然而,针对这一问题存在各种有效的算法Java 在整数数组中求和为给定数的最小集,java,recursion,Java,Recursion,给定s和一个正整数数组,求元素加起来等于s的最小子集。例如,给定数组{1,2,3,4,5}和s=8,最小子集为{3,5} 到目前为止,我可以通过使用递归的贪婪方法来求解数组中的一组整数,但是我找不到如何找到最小子集。有没有我应该研究的特定算法 这就是“零一等式背包问题”。它是NP完全问题。然而,针对这一问题存在各种有效的算法 如果总和足够小,可以分配那么多的内存位并对其进行n次迭代(数组元素数),那么可以使用 像CPLEX、Gurobi和SCIP这样的解决方案通常在实践中可能出现的“典型”实例上
检查所有这些对于大型实例都非常有用。我想知道OP是不是在讨论小实例。所有这些对于大实例都很好。我想知道OP是不是在讨论一些小的例子。