一:动态规划
1:背包问题
注意:
- 1:初始化:注意初始化第一个还是第一行,第一行的时候可能第一个后后面的都不一样。
- 2:遍历顺序:依据:组合还是排列
- 3:内循环遍历顺序:依据:完全背包还是0-1背包
排列的时候,内循环是物品,这时候内循环前后遍历都行。。例如377题
1.1:0-1背包
1.2:完全背包
求最值
求最值也能分类为组合或者排序问题
- 322题:零钱兑换最少硬币数量
- 279题:最少平方数的和=target
排列
排列是有序的,只能先遍历背包,再遍历物品
- 377题 组合(但是有序)总数
- 70题:爬楼梯的改进,一次可以走1到m步
组合
组合是无序的,先白能力物品,再遍历背包
- 518题:零钱兑换
2:打家劫舍
- 198:打家劫舍
- 213:打家劫舍2
- 337:打家劫舍3