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零钱兑换的主要内容,如果未能解决你的问题,请参考以下文章
518. 零钱兑换 II -- LeetCode -- 6.10