🔗 https://leetcode.cn/problems/unique-paths
题目
- m * n 的格子,从左上到右下,一共有多少条路径
- 每次只能往右一格或者往下一格
思路
- dp,初始化 1,当前位置的不同路径数 = 从左来的路径数 + 从上来的路径数
代码
class Solution {
public:
int uniquePaths(int m, int n) {
int dp[110][110];
for (int i = 0; i < n; i++) {
dp[0][i] = 1;
}
for (int i = 1; i < m; i++) {
for (int j = 0; j < n; j++) {
if (j == 0) dp[i][j] = dp[i-1][j];
else dp[i][j] = dp[i-1][j] + dp[i][j-1];
}
}
return dp[m-1][n-1];
}
};