Appearance
322零钱兑换
code
javascript
/**
* @param {number[]} coins
* @param {number} amount
* @return {number}
*/
var coinChange = function (coins, amount) {
let dp = new Array(amount + 1).fill(Infinity);
dp[0] = 0;
for (let i = 1; i < amount + 1; i++) {
for (coin of coins) {
if (i < coin) {
continue;
}
dp[i] = Math.min(dp[i], 1 + dp[i - coin]);
}
}
return dp[amount] === Infinity ? -1 : dp[amount];
};总结
- 高阶练手题,但是真容易翻车其实
- 感觉有点像一层层浪打浪,这种题其实写着还蛮爽的
- 注意数组长度,末尾索引,这些,然后注意序号能不能够coin减要加判断
- 反正只要记住了infinity,这个就还好