很经典的动态规划题,需要将各个结点的路径一个个算出来,由于只能往右和往下走,每个结点的路径数等于左节点路径数加上结点路径数,最终返回最后一个结点路径数即可。
cpp
class Solution {
public:
int uniquePaths(int m, int n) {
int a[m][n];
for(int i=0;i<n;i++) a[0][i]=1;
for(int i=0;i<m;i++) a[i][0]=1;
for(int i=1;i<m;i++){
for(int j=1;j<n;j++){
a[i][j]=a[i-1][j]+a[i][j-1];
}
}
return a[m-1][n-1];
}
};