小编tec*_*ect的帖子

动态规划最优硬币变化

我一直在审查一些动态编程问题,而且我很难绕过一些代码来寻找最小数量的硬币来进行更改.

假设我们有25,10和1的硬币,我们正在进行30次更改.贪婪将返回25和5(1),而最佳解决方案将返回3(10).以下是本书中有关此问题的代码:

def dpMakeChange(coinValueList,change,minCoins):
   for cents in range(change+1):
      coinCount = cents
      for j in [c for c in coinValueList if c <= cents]:
            if minCoins[cents-j] + 1 < coinCount:
               coinCount = minCoins[cents-j]+1
      minCoins[cents] = coinCount
   return minCoins[change]
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我绕过这段代码(第4行是我开始感到困惑的地方),那就太好了.谢谢!

python algorithm dynamic-programming

7
推荐指数
1
解决办法
7964
查看次数

标签 统计

algorithm ×1

dynamic-programming ×1

python ×1