重练算法(代码随想录版) 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/

posted @ 2025-12-10 14:10  GengarF  阅读(0)  评论(0)    收藏  举报