解题思路:
典型的DP问题
举个例子,3×3矩阵,到每个格子的方法数是多少?
1 1 1
1 2 3
1 3 6
可以看到到达某个格子的路径数为它上和左的路径数的和, 也就是dp[i][j]=dp[i-1][j]+dp[i][j-1]
class Solution {
public:
int uniquePaths(int m, int n) {
int i,j;
if(m==0&&n==0)return 0;
if(m==1||n==1)return 1;
vector<vector<int>> dp(m,vector<int>(n,1));
for(i=1;i<m;i++){
for(j=1;j<n;j++){
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
return dp[m-1][n-1];
}
};