1. dp数组 下标及其 值 的含义
下标: 表示i , j 的方式
值: 走到i ,j 的方法有多少种(一定要多多注意
2. 递推公式
由于只能向右走,或者向下走,所以走到 i,j的方法有两种
dp[i][j] = dp[i - 1][j] +dp[i][j - 1];
3. 初始化
初始化最左边和最上面的元素,因为 要向右 / 下 走,是由左和上推出来的
4. 遍历顺序
从上到下,从左到右
注意遍历的起始点
class Solution {
public:
int uniquePaths(int m, int n) {
// 二维的数组
vector<vector<int>> dp(m , vector<int>(n, 0));
for(int i = 0; i < m ; i++)
dp[i][0] = 1;
for(int i = 0; i <n ;i++)
dp[0][i] = 1;
for(int i = 1; i < m; i++)
{
for(int j = 1 ; j < n ;j++)
{
dp[i][j] = dp[i - 1][j] +dp[i][j - 1];
}
}
return dp[m - 1][n - 1];
}
};