a relative link DP模板
# 初始化base case
dp[0][0][...] = base
# 进行状态转移
for 状态1 in 状态1列表:
for 状态2 in 状态2列表:
for ...
dp[状态1][状态2][...] = 求最值(选择1,选择2...)
- 最小路径和(亚马逊、高盛集团、谷歌在半年内面试中考过)
- 解码方法(亚马逊、Facebook、字节跳动在半年内面试中考过)
- 最大正方形(华为、谷歌、字节跳动在半年内面试中考过)
- 任务调度器(Facebook 在半年内面试中常考)
- 回文子串(Facebook、苹果、字节跳动在半年内面试中考过)
- 最长有效括号(字节跳动、亚马逊、微软在半年内面试中考过)
- 编辑距离(字节跳动、亚马逊、谷歌在半年内面试中考过)
- 矩形区域不超过 K 的最大数值和(谷歌在半年内面试中考过)
- 青蛙过河(亚马逊、苹果、字节跳动在半年内面试中考过)
- 分割数组的最大值(谷歌、亚马逊、Facebook 在半年内面试中考过)
- 学生出勤记录 II (谷歌在半年内面试中考过)
- 最小覆盖子串(Facebook 在半年内面试中常考)
- 戳气球(亚马逊在半年内面试中考过)