アイデア:
- それだけで1行または状況であれば、それだけで一つのパスを持っているでしょう
- 下に示すように対角位置場合、第1の右後部(スタート - > A-> C)と、2つの経路(スタート - > B-> C)右側下部後方にあります。
- そしてように、我々は、パスの総数が、各パスはプラス下左の位置へのパスであると結論付けることができます
function short(m, n) {
var i,j;
let dp=new Array(n).fill(0).map(x=>new Array(m).fill(0));
for(i=0; i<m; i++) {
dp[0][i]=1;
}
for(i=0; i<n; i++) {
dp[i][0]=1;
}
for(i=1; i<n; i++){
for(j=1; j<m; j++){
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
return dp[n-1][m-1];
}
console.log(short(7,3));