[leetcode] 62 Unique Paths (Medium)
阿新 • • 發佈:2018-12-17
原題連結
思路: dp[i][j]儲存走到第i,j格共有幾種走法。 因為只能走→或者↓,所以邊界條件dp[0][j]+=dp[0][j-1] 同時容易得出遞推 dp[i][j]+=dp[i-1][j]+dp[i][j-1]
class Solution { public: int uniquePaths(int m, int n) { if (m == 0 || n == 0) { return 0; } vector<vector<int>> dp(m, vector<int>(n, 0)); dp[0][0] = 1; for (int j = 1; j < n; j++) dp[0][j] += dp[0][j - 1]; for (int i = 1; i < m; i++) { for (int j = 0; j < n; j++) { dp[i][j] = dp[i - 1][j] + dp[i][j - 1]; } } return dp[m - 1][n - 1]; } };