LeetCode
动态规划
70. Climbing Stairs
https://leetcode.com/problems/climbing-stairs/
主要思路:上第n级台阶 = 从第n-1级台阶上1步 + 从第n-2级台阶上2步。
由于初始的上第1、2、3阶台阶的方法均可数,因而可以计算出上任意阶台阶的情况。
62. Unique Paths
https://leetcode.com/problems/unique-paths/
根据组合数的性质:
$$
C(n, m) = C(n-1, m-1) + C(n-1, m)
$$
二维vector初始化:
1 | vector<vector<int>> ans(rows, vector<int>(cols), initNo)); |
注意:这里的需要走的横向步数和纵向步数不是m和n,而是m-1和n-1.