力扣 62. 不同路径

题目描述:

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?
图片说明

解析:

记忆化的二维数组
图片说明

Java:

public int uniquePaths(int m, int n) {
        int[][] memo = new int[n][m];
        for(int row = 0; row < n; row++) {
            memo[row][0] = 1;
        }
        for(int col = 0; col < m; col++) {
            memo[0][col] = 1;
        }
        for(int row = 1; row < n; row++) {
            for(int col = 1; col < m; col++) {
                memo[row][col] = memo[row-1][col] + memo[row][col-1];
            }
        }
        return memo[n-1][m-1];
    }

JavaScript:

var uniquePaths = function(m, n) {
    const memo = [];
    for(let i = 0; i < n; i++) {
        memo.push([]);
    }
    for(let row = 0; row < n; row++) {
        memo[row][0] = 1;
    }
    for(let col = 0; col < m; col++) {
        memo[0][col] = 1;
    }
    for(let row = 1; row < n; row++) {
        for(let col = 1; col < m; col++) {
            memo[row][col] = memo[row-1][col] + memo[row][col-1];
        }
    }
    return memo[n-1][m-1];
};
全部评论

相关推荐

点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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