题解 | #不同路径的数目(一)#

不同路径的数目(一)

https://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358

动态规划思路

题目所求的是左上角到右下角的所有路径数量,那么中间状态为左上角到地图中任意方格的所有路径数量,由于机器人只能往下或者往右移动,因此任意方格的路径数量只跟上一方格和左一方格的路径数量有关,按照这两个方格状态转移到最终方格的路径数量即可。

最小子问题

当地图大小为1xn或者mx1时,所有方格的路径数量只有1,因此二维dp表的初始状态为当i=0或j=0时为1。

状态转移方程

由于由于机器人只能往下或者往右移动,因此任意方格的路径数量只跟上一方格和左一方格的路径数量有关,因此dp[i][j] = dp[i-1][j] + dp[i]][j-1]

/**
 *
 * @param m int整型
 * @param n int整型
 * @return int整型
 */
function uniquePaths( m ,  n ) {
    // write code here
    const dp = Array.from(new Array(m), () => new Array(n).fill(1));

    for (let i = 1; i < m; ++i) {
        for (let j = 1; j < n; ++j) {
            dp[i][j] = dp[i-1][j] + dp[i][j-1];
        }
    }

    return dp[m-1][n-1];
}
module.exports = {
    uniquePaths: uniquePaths,
};

全部评论

相关推荐

02-05 08:49
已编辑
武汉大学 Web前端
野猪不是猪🐗:36k和36k之间亦有差距,ms的36k和pdd的36k不是一个概念
点赞 评论 收藏
分享
01-15 13:52
已编辑
河南大学 Java
六年要多久:标准头像,不吃香菜😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务