【力扣

您所在的位置:网站首页 扣扣互赞网站在哪 【力扣

【力扣

2024-07-09 14:46| 来源: 网络整理| 查看: 265

😀如果对你有帮助的话😊 🌺为博主点个赞吧 👍 👍点赞是对博主最大的鼓励😋 💓爱心发射~💓

【动态规划整理合集】 【力扣——动态规划】整理题目1:基础题目:509、70、746、62、63、343、96 【力扣—动态规划】整理题目2:背包问题:0-1背包、完全背包

目录 动态规划总结0-1背包基础知识解题步骤解题步骤-简洁 例1例2416. 分割等和子集题解 1049. 最后一块石头的重量 II题解 494. 目标和——组合背包题解 474. 一和零题解 完全背包518. 零钱兑换 II ——排列题解 377. 组合总和 Ⅳ——排列题解 70. 爬楼梯 ——排列题解 322. 零钱兑换题解 279. 完全平方数题解 139. 单词拆分题解 总结

代码随想录知识星球

动态规划总结

在这里插入图片描述

0-1背包 面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。背包问题的理论基础重中之重是01背包 基础知识 动态规划是由前一个状态推导出来的而贪心算法是局部直接选最优的

如果求组合数就是外层for循环遍历物品,内层for遍历背包。 如果求排列数就是外层for遍历背包,内层for循环遍历物品。

解题步骤 确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 解题步骤-简洁 确定dp数组下标含义递推公式初始化遍历顺序推导结果 例1

在这里插入图片描述 1、确定dp数组下标含义

dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少

2、递推公式 dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);

3、初始化

// 初始化 dp //初始化:背包容量为0时,能获得的价值都为0 for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3