ロボットはm x nメッシュの左上隅(下図では「スタート」と表記)にあり、ロボットはいつでも下または右に移動できます.
本題はleetcode 62に由来する
考え方:ダイナミックプランニング
1下または右にしか歩けません.したがって、i=0またはj=0の場合は1に等しい
2 dp[i] [j] = dp[i-1][j] + dp[i][j-1];
コード:
コード2;
考え方:ダイナミックプランニング
1下または右にしか歩けません.したがって、i=0またはj=0の場合は1に等しい
2 dp[i] [j] = dp[i-1][j] + dp[i][j-1];
コード:
int uniquePaths(int m, int n) {
vector> dp(m,vector(n,1));
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-1][n-1];
}
コード2;
int uniquePaths(int m, int n) {
int total = m + n -2; //
int down = m - 1; //
double res = 1;
for(int i = 1 ; i <= down; i++){
res =res * (total - down + i) / i;
}
return (int)res;
}