DP硬币的确切硬币数更改

时间:2018-08-10 15:06:09

标签: algorithm

我有1到n个硬币。通过使用1到n个硬币,我可以有多少种方法精确地使用k个硬币?例如,我必须使用恰好2个硬币的1,2,3个硬币制作3个硬币。有四种方法:    (3,0)    (1,2)    (2,1)    (0,3)  我该如何迭代解决呢?我已经递归解决了。 这是代码:https://paste.ubuntu.com/p/C5sgF8JK23/

1 个答案:

答案 0 :(得分:1)

由于这一事实,这似乎是一个基本问题,这里是一个简单易用的伪代码n ^ 2解决方案:

for i in all_available_coins
     for j in all_available_coins
         if j + i == sum
            add to result list

编辑:很抱歉,您提到1到n个硬币,但由于n ^ k复杂性,该解决方案仍然可扩展但效率极低