美文网首页
Hackerrank The Coin Change Probl

Hackerrank The Coin Change Probl

作者: 不动点P | 来源:发表于2019-04-01 09:17 被阅读0次

这是一道比较简单的一维dp问题。给一个数字n,然后再给m种不同面值的硬币,求这个数字能被这些硬币以多少种组合方式组合起来。

状态就选择成 dp(n)dp(n) 设为n被组合起来的方式。
我们手上有m个硬币,设为c1,c2....cm
dp(n) = \sum_{i=1}^{m} dp(n-ci)
dp(ci) = 1, i = 1...m

所以代码如下:

def getWays(n, c):
    dp = [1] + [0] * n
    for i in range(len(c)):
        for j in range(c[i],n+1):
            dp[j] += dp[j - c[i]]
    
    return dp[-1]

相关文章

  • Hackerrank The Coin Change Probl

    这是一道比较简单的一维dp问题。给一个数字n,然后再给m种不同面值的硬币,求这个数字能被这些硬币以多少种组合方式组...

  • leetcode-12

    Coin Change Boundary: There may be no possible change, so...

  • Coin Change

    题目You are given coins of different denominations and a to...

  • Coin Change

    题目来源一道简单的DP题,n种硬币,要求组成某个数值的硬币数最少,代码如下: 看了下讨论区,感觉可以写的更简洁一下...

  • coin change

    最简单的DP

  • coin change

    You are given coins of different denominations and a tota...

  • 322、Coin Change

    参考 [LeetCode] Coin Change 硬币找零 题目描述:You are given coins o...

  • LeetCode Coin Change

    You are given coins of different denominations and a tota...

  • coin change问题

    最简单的模式,不限定硬币使用的次数! 符合动态规划的要求,最优子问题。即10块的时候最优,必然要求小于10块都是最...

  • Coin Change 2

    题目来源给一个钱数以及一些硬币,硬币可以无限取,问有多少种组合方案。一看就是一道DP题,但是太久没刷题,手生。导致...

网友评论

      本文标题:Hackerrank The Coin Change Probl

      本文链接:https://www.haomeiwen.com/subject/qjelbqtx.html