重练算法(代码随想录版) day36 - 动态规划part4
今日刷题量:3
当前刷题总量:139
Easy: 59
Mid: 73
Hard: 7
Day36
解题思想
解题套路: 先做等价转化 → 再选 dp 类型(可行/最优/计数)→ 套 01 背包倒序循环。
1.把原题改写成“选子集”(每个元素/字符串:选 or 不选)
2.确定背包容量
- 1049/494:容量来自 sum 的一半(或 (sum+target)/2)
- 474:容量是二维 (m个0, n个1)
3.确定 dp 含义(最关键)
- 求最优(max/min)→ max
- 求方案数 → +(计数)
- 求是否可行 → ||(布尔)
4.01 背包倒序遍历
- 一维:for j = W..w
- 二维:for i = M..z 且 for j = N..o
练习题目
1049. 最后一块石头的重量 II (mid):https://leetcode.cn/problems/last-stone-weight-ii/description/
494. 目标和 (mid):https://leetcode.cn/problems/target-sum/
474.一和零(mid):https://leetcode.cn/problems/ones-and-zeroes/description/

浙公网安备 33010602011771号