题目大意:给定一个矩阵方格,一个机器人在矩阵左上角,它只能向右或向下走,求它走到最右下角有多少种走法。
解题思路:dp[i][j]表示走到方格(i, j)一共有多少走法。它至于上方相邻的方格和右边相邻的方格有关
dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
我们可以把它降成一维的来求解
class Solution {
public:
int uniquePaths(int m, int n) {
vector<int> dp(n, 1);
for(int i = 1; i < m; i++) {
for(int j = 1; j < n; j++) {
dp[j] = dp[j] + dp[j - 1];
}
}
return dp[n - 1];
}
};