dp问题描述
62.不同路径
确定本题的状态表示
dp[i,j]
表示的是从左上角走到这个位置的路径条数
确定本题的状态转移方程
根据已知条件:dp[0,0]=1,dp[0,1]=1,dp[1,0]=1
本题的状态转移方程是:
dp[i,j]=dp[i,j-1]+dp[i-1,j]
填表求值
根据初始条件和状态转移方程,确定填表顺序,进而逐步填满dp表,最终返回题目要的结果
代码实现
这个题貌似我做过,二维dp问题的入坑题目,不多解释,直接上代码
class Solution {
public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m+1,vector<int>(n+1,0));dp[1][1]=1;// dp[1][2]=1;dp[2][1]=1;for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){if(i==1&&j==1) continue;dp[i][j]=dp[i-1][j]+dp[i][j-1];}}return dp[m][n];}
};