【发布时间】:2014-10-29 21:41:57
【问题描述】:
我正在尝试使用动态编程解决问题,问题如下:
给定无限供应的硬币(一分钱、五分钱、一角硬币、一角硬币、四分之一硬币) 值 (1, 5, 10, 20, 25),请找出最少的硬币数量来找零 65 美分。 使用了哪些硬币(每种硬币有多少)?使用 动态规划算法以及如何获得使用的硬币。
请注意,我不希望任何人为我说明整个表格,但我对如何为这个问题填写表格感到有点困惑。
我知道我的桌子看起来有点像这样:
5 10 15 20 25 30 35 40 45 50 55 60 65
1
5
10
20
25
(我省略了 1,因为我知道这不是最好的解决方案) 我最初的想法是表格会填成这样:
5 10 15 20 25 30 35 40 45 50 55 60 65
1
5 1 2 4 5 5 6 7 8 9 10 11 12 13
10 0 1
20
25
当我必须走得更远时,我会卡在这里。我不认为我完全理解动态编程是如何解决这个问题的。我一直在看我的书,在网上看书,但我还是有点困惑。
编辑:
感谢其中一个答案,这就是我制定解决方案的方式:
5 10 15 20 25 30 35 40 45 50 55 60 65
1
5 1 1 1 1
10 1 1 1 1
20 1 2 1 2
25 1 1 1 1 2 2 2 1
【问题讨论】:
-
这个问题对你有帮助吗? stackoverflow.com/questions/8031816/…
-
您可能需要重新考虑您接受的解决方案。你选择的答案是错误的。
-
我删除了错误的评论,但我的回答没有任何错误,仍然回答了问题。
标签: algorithm dynamic-programming