题解 | #不同路径的数目(一)#
不同路径的数目(一)
https://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358
#include <vector>
class Solution {
public:
int uniquePaths(int m, int n) { //计算组合数
if (m > n) {
return uniquePaths(n, m);
}
double num = 1;
for (int i = m + n - 2, j = m - 1; i >= n; i--, j--) {
num = num * i / j;
}
return int(num);
}
// int uniquePaths(int m, int n) { //动态规划
// vector<vector<int>> dp(m, vector<int>(n, 0));
// dp[0][0] = 1;
// for (int i = 0; i < m; i++) {
// for (int j = 0; j < n; j++) {
// dp[i][j] = i - 1 >= 0 ? dp[i - 1][j] : dp[i][j];
// dp[i][j] = j - 1 >= 0 ? dp[i][j - 1] + dp[i][j] : dp[i][j];
// }
// }
// return dp[m - 1][n - 1];
// }
};
