完全揹包
影片講解:https://www.bilibili.com/video/BV1uK411o7c9
https://programmercarl.com/揹包問題理論基礎完全揹包.html
主要是理解完全揹包
- 零錢兌換 II
影片講解:https://www.bilibili.com/video/BV1KM411k75j
https://programmercarl.com/0518.零錢兌換II.html
/**
* @param {number} amount
* @param {number[]} coins
* @return {number}
*/
var change = function(amount, coins) {
let len = coins.length;
const dp = new Array(amount+1).fill(0);
dp[0] = 1;
for (i=0;i<len;i++) {
for (let j=coins[i];j<=amount;j++) {
dp[j] += dp[j- coins[i]];
}
}
return dp[amount];
};
- 組合總和 Ⅳ
影片講解:https://www.bilibili.com/video/BV1V14y1n7B6
https://programmercarl.com/0377.組合總和Ⅳ.html
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var combinationSum4 = function(nums, target) {
const dp = new Array(target+1).fill(0);
dp[0] = 1;
for (let j=0;j<=target;j++) {
for (i=0;i<nums.length;i++) {
if (j>=nums[i]) {
dp[j]+=dp[j-nums[i]];
}
}
}
return dp[target];
};
- 爬樓梯 (進階)
這道題目 爬樓梯之前我們做過,這次再用完全揹包的思路來分析一遍
https://programmercarl.com/0070.爬樓梯完全揹包版本.html