518. Coin Change 2

图片说明
题解 :https://leetcode-cn.com/problems/coin-change-2/solution/dong-tai-gui-hua-wan-quan-bei-bao-wen-ti-by-liweiw/
图片说明

f[i,j] = f[i-1,j]+f[i-1,j-c]+f[i-1,j-2c]+f[i-1,j-3c]+f[i-1,j-4c]...
f[i-1,j-c] = f[i-1,j-c]+f[i-1,j-2c]+f[i-1,j-3c]+f[i-1,j-4c]...
f[i,j] = f[i - i , j ] + f[i-1 , j -c ]
j-c 的意义是除掉k个自己,所对应的值有多少种解法

先一个一个数字进行思考 通过循环来实现一个一个的数字进行考虑
第一个有几种
第二个有几种(需要减去第一个 当然减去的前提是能凑amount)
依次类推 每一个位置所对应的值都是能达到的该数的种数
虽然求的是amount 但是0~amount之间的数据值/位置都是有意义的

 public int change(int m, int[] coins) {
    int len = coins.length;
    int f[] = new int [m+1];
    f[0] = 1;
    for(int i = 0 ; i < len;i++) {
        for(int j = coins[i] ; j <= m ; j++) {
            f[j] += f[j-coins[i]];
        }
    }
       return f[m];
   }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
分享
11-27 14:21
同济大学 Java
卢来猴祖:给了这薪资关键拿不了几个月就给你踹了呀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务