只能往右走剛往下走
解法就兩種,排列組合,或用 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];
}
};
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];
}
};