按照动规五部曲来分析:
- 确定dp数组以及下标的含义: dp[i][j] :表示从(0 ,0)出发,到(i, j) 有dp[i][j]条不同的路径。
- 确定递推公式: dp[i][j] = dp[i - 1][j] + dp[i][j - 1],因为dp[i][j]只有这两个方向过来。
- dp数组的初始化:首先dp[i][0]一定都是1,因为从(0, 0)的位置到(i, 0)的路径只有一条,那么dp[0][j]也同理。
- 确定遍历顺序:dp[i][j]都是从其上方和左方推导而来,那么从左到右一层一层遍历就可以了。
- 打印:举例推导dp数组
--------------------
https://www.bilibili.com/video/BV13Q4y197Wg
- 斐波那契数列
- 爬楼梯(本质上就是斐波那契数列)
- 使用最小花费爬楼梯(斐波那契数列的消费版)