程式碼隨想錄演算法訓練營第43天 | 977.有序陣列的平方 、27. 移除元素

YuanYF6發表於2024-06-20

完全揹包
影片講解:https://www.bilibili.com/video/BV1uK411o7c9
https://programmercarl.com/揹包問題理論基礎完全揹包.html

主要是理解完全揹包
  1. 零錢兌換 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];
};
  1. 組合總和 Ⅳ
    影片講解: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];
};
  1. 爬樓梯 (進階)

這道題目 爬樓梯之前我們做過,這次再用完全揹包的思路來分析一遍

https://programmercarl.com/0070.爬樓梯完全揹包版本.html

相關文章