- 问题来源
- 问题简介
解题思路
因为机器人只能走右或下,所以在m行n列的地图中:
- dp[i][j]: i <= m, j <= n
- 1 : (i = 1, j = 1)
- dp[i-1][j] + dp[i][j-1] : {1 < i <= m, 1 < j <= n}
时间复杂度 | 空间复杂度 |
---|---|
O(m*n) | O(1) |
Code
class Solution {
public:
int uniquePaths(int m, int n) {
int dp[100][100];
for (int j = 0; j < n; j++) {
dp[0][j] = 1;
}
for (int i = 0; i < m; i++) {
dp[i][0] = 1;
}
for (int i = 1; i < m; i++) {
for (int j = 1; j < n; j++) {
dp[i][j] = dp[i][j-1] + dp[i-1][j];
}
}
return dp[m-1][n-1];
}
};