ロボットは、mxn グリッドの左上隅に配置されます (下図では開始点に「開始」とマークされています)。
ロボットは一度に 1 ステップ下または右へのみ移動できます。ロボットはグリッドの右下隅 (下の画像で「終了」とマークされている) に到達しようとします。
異なるパスは合計で何通りありますか?
例 1:
例 2:
入力: m = 3、n = 2
出力: 3
説明:
左上隅から開始して、右下隅に到達するまでに合計 3 つのパスがあります。
①右→下→下
②下→下→右
③下→右→下
ほどく:
コード:
class Solution {
public:
int uniquePaths(int m, int n) {
//创建dp数组
vector<vector<int>> dp(m+1,vector<int>(n+1));
//初始化
dp[0][1]=1;
//填dp表
for(int i=1;i<=m;i++)//从上往下遍历每一行
{
for(int j=1;j<=n;j++)//从左往右遍历每个元素
{
//填表
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
//返回值
return dp[m][n];
}
};