LeetCode 题解:322. 零钱兑换,动态规划,JavaScript,详细注释
原题链接:https://leetcode-cn.com/problems/coin-change/
解题思路:
用硬币凑到
amount
,就是从0
元,一直累加到amount
元的过程。我们可以创建一个
dp
数组,长度是amount + 1
,用它的索引表示金额,dp[i]
存储的是凑到金额i
所需的最小硬币数量。对于金额
i
,我们需要把coins
中的硬币都试一次,也就是从金额i - coins[j]
,用1
个coins[j]
面额的硬币凑过来。状态转移方程:
dp[i] = Math.min(dp[i], dp[i - coin] + 1);
。
复制代码
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/f5ce4f217a6f1d39ad5d4b949】。文章转载请联系作者。
评论