algorithm - 如何生成整数分区?

标签 algorithm combinations

我有一个数字列表,如 1、2、3,我想找到所有总和为特定数字(如 5)的组合模式。例如:

Sum=5
Numbers:1,2,3
Patterns:

1 1 1 1 1
1 1 1 2
1 1 3
1 2 2
2 3

您可以重复数字,只要它们不超过您的总和即可。哪种方式最适合对此进行编程?

最佳答案

这是对更改问题的轻微修改。您应该能够找到大量关于这个问题的论文,而动态规划解决方案将不会超过 20 行代码。

http://en.wikipedia.org/wiki/Change-making_problem

关于algorithm - 如何生成整数分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1490001/

相关文章:

java - 如何使用这些索引对数组进行排序(索引)以获取从最小值到最大值排序的原始数组

python - 求一个关于python组合算法在现实世界实践中的解决方案

python - 如何在比较两个长二维列表时减少执行时间

algorithm - HackerEarth挑战赛——Deepu和Array

algorithm - 用于读取图像中文本的最佳 Python/Ruby 库

algorithm - ALS.train() 中的秩、迭代次数和 lambda 是什么?

Ruby:不要对数组元素进行某些组合

python - 从一组创建组而不重复过去的组

Python:从树状数据结构中的列表列表创建组合

java - 从多个列表中获取值的所有组合