【代码随想录训练营】【Day 46】【动态规划-6】| Leetcode 518, 377

【代码随想录训练营】【Day 46】【动态规划-6】| Leetcode 518, 377

需强化知识点

  • 完全背包基础(遍历重量时 正序,保证物品可重复加入)
  • 完全背包:组合问题,先物品后重量,排列问题,先重量后物品

题目

518. 零钱兑换 II

python 复制代码
class Solution:
    def change(self, amount: int, coins: List[int]) -> int:
        # 金额 i 的 组成方式数量
        dp = [0] * (amount + 1)
        dp[0] = 1

        for coin in coins:
            for i in range(coin, amount + 1):
                dp[i] += dp[i-coin]
        
        return dp[amount]

377. 组合总和 Ⅳ

  • 完全背包:排列问题,先重量后物品
python 复制代码
class Solution:
    def combinationSum4(self, nums: List[int], target: int) -> int:
        # 总和为 i 的组合个数
        dp = [0] * (target+1)
        dp[0] = 1

        for i in range(1, target+1):
            for num in nums:
                if i >= num:
                    dp[i] += dp[i-num]
        
        return dp[target]
        
相关推荐
玄昌盛不会编程3 分钟前
LeetCode——2683. 相邻值的按位异或
java·算法·leetcode
AI 嗯啦1 小时前
机械学习中的一些优化算法(以逻辑回归实现案例来讲解)
大数据·算法·逻辑回归
im_AMBER1 小时前
Leetcode 13 java
java·算法·leetcode
美团快速送达1 小时前
每日一题----第四题
java·算法·leetcode
每天都要进步11 小时前
排序算法——归并排序(图文演示)
算法
陈陈爱java1 小时前
二叉树算法
数据结构·算法
weisian1512 小时前
力扣经典算法篇-43-全排列(经典回溯问题)
算法·leetcode·职场和发展
蒋星熠2 小时前
最长连续序列(每天刷力扣hot100系列)
c语言·数据结构·c++·算法·leetcode·职场和发展·哈希算法
Mister Leon2 小时前
机器学习Adaboost算法----SAMME算法和SAMME.R算法
算法·机器学习·r语言
muyun28006 小时前
History 模式 vs Hash 模式:Vue Router 技术决策因素详解
vue.js·算法·哈希算法