学习笔记
- 本周出现的所有题目中,做了和dp相关的大多数题目,补了之前的六道股票问题,字符串相关的只做了少数几道,因为dp的题目实在是消化起来需要一点时间,但是我在其中找到了乐趣!
- 对于不同路径2的dp方程 if (!obstacleGrid[i][j]) temp[i][j] = temp[i-1][j] + temp[i][j-1]; else temp[i][j] = 0;
- 对于dp来说,如果题目中出现了最字,比如最多最少,或者是判断出后一个状态和前一个状态或者前两个状态存在某种关系,就可以去构思dp方程
- 但是对于dp来说,base case的处理也比较难 通过做题发现两种普遍的做法 (1)直接手动初始化前面的base case,但此时遍历的下标不能从0开始 (2)dp数组初始化直接稍大一些,,这样就可以用递推方程去处理最前面的下标
- 写在最后:还有一年才要去找工作,但是通过这九周的学习,让我对一年后的校招有了一定的信心,感谢极客大学算法训练营
dp两大关键 推出状态转移方程 处理好base case