版权声明:自由转载-非商用-非衍生-保持署名 https://blog.csdn.net/mgsweet/article/details/78732584
解题思路
设v[i][j] 为到达第i,j格的独立路径数,则v[i][j] = v[i][j - 1] + v[i - 1][j],原因是只会有从上面一格往下走或者从右面一格往左走两种情况
代码
class Solution {
public:
int uniquePaths(int m, int n) {
vector<vector<int>> v(m + 1);
for (int i = 0; i < m + 1; i++) {
v[i].resize(n + 1);
}
for (int i = 0; i <= m; i++) {
v[i][0] = 1;
}
for (int i = 0; i <= n; i++) {
v[0][i] = 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];
}
};