WEI-CHENG CHEN

說明

只能往右走剛往下走

解法就兩種,排列組合,或用 DP 去紀錄

解法:DP(二維)

class Solution {
public:
    int uniquePaths(int m, int n) {
        vector<vector<int>> v(m, vector<int>(n,0));
        for (int i = 0; i < m; ++i) {
            v[i][0] = 1;
        }
        for (int j = 0; j < n; ++j) {
            v[0][j] = 1;
        }
        for (int i = 1; i < m; ++i) {
            for (int j = 1; j < n; ++j) {
                v[i][j] = v[i - 1][j] + v[i][j - 1];
            }
        }
        return v[m - 1][n - 1];
    }
};

解法:DP(壓縮成一維)

class Solution {
public:
    int uniquePaths(int m, int n) {
        vector<int> v(n, 1);
        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                v[j] = v[j-1] + v[j];
            }
        }
        return v[n-1];
    }
};