小编Dzi*_*zik的帖子

查找给定整数集的所有组合,总和达到给定总和

我正在寻找以下问题的答案。

给定一组整数(无重复)和一个总和,找到该组元素的所有可能组合,总和为总和。解的顺序并不重要(解 {2, 2, 3} 和 {3, 2 ,2} 相等)。

请注意,最终组合不需要是一个集合,因为它可以包含重复项。

示例:设置 {2,3,5} 和 10

结果:{2, 2, 2, 2, 2}, {2, 2, 3, 3}, {2, 3, 5}, {5, 5}

我研究过子集和问题以及硬币找零问题,但无法调整它们以满足我的需要。我不太熟悉动态编程,所以它可能是可行的,但我无法弄清楚。

由于我正在处理相当大的元素集(大约 50 个),因此预先计算所有元素集不是一个选项,因为这会花费很长时间。从子集和表中提取不同解决方案的方法将是更好的方法(如果可能的话)。

任何建议、提示或示例代码将不胜感激!

algorithm dynamic-programming coin-change subset-sum

3
推荐指数
1
解决办法
3011
查看次数