题解 | #走方格的方案数#

走方格的方案数

https://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (line) {
    const [n, m] = line.split(' ').map(Number);
    // 两个输入的数字(n:行, m:列)
    /**
        最后一列,最后一行的点到最右下角的路线都只有一种方式
        某个点到最右下角一共有多少种方式,由其右及下两个点相加
     */
    //  创建一个n+1行m+1列的二维数组
    const dp = new Array(n+1).fill(0).map(()=>new Array(m+1)) 
    // 给最后一行赋值
    for(let i = m; i >= 0; i-- ){
        dp[n][i] = 1
    }
    // 给最后一列赋值
     for(let i = n; i >= 0; i-- ){
        dp[i][m] = 1
    }
    // 计算最左上角到最右下角一共有多少种方式
    for(let i = n; i > 0; i--){
        for(let j = m; j > 0; j-- ){
            dp[i-1][j-1] = dp[i][j-1] + dp[i-1][j]
        }
    }
    console.log(dp[0][0])
});

全部评论

相关推荐

07-09 19:25
门头沟学院 Java
这是要把每一个投校招的都开盒吗?
26届之耻将大局逆转:裁人的时候一次性追回餐费
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务