leetcode经典动态规划题目:518零钱兑换

Posted 猿猿HHH

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode经典动态规划题目:518零钱兑换相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
动态规划解题思路:

1、初始化 dp[0]=1;

2、遍历coins,对于其中的每个元素coin,进行如下操作:

3、遍历 i 从 coin 到amount,将 dp[i−coin] 的值加到dp[i]。

最终得到 dp[amount] 的值即为答案。

对应的代码实现:

class Solution {
    public int change(int amount, int[] coins) {
        int[] dp = new int[amount+1];
        dp[0] = 1;
        for(int coin:coins){
            for(int i=1;i<amount+1;i++){
                if(i>=coin){
                    dp[i] = dp[i]+dp[i-coin];
                }
            }
        }
        return dp[amount];
    }
}

提交结果:
在这里插入图片描述

以上是关于leetcode经典动态规划题目:518零钱兑换的主要内容,如果未能解决你的问题,请参考以下文章

动态规划-零钱兑换-leetcode518

动态规划第九篇:零钱兑换

动态规划第九篇:零钱兑换

518. 零钱兑换 II -- LeetCode -- 6.10

leetcode 518. 零钱兑换 II-----完全背包套路模板

经典动态规划:完全背包问题