题解 | #不同路径的数目(一)#
不同路径的数目(一)
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]; // } };