• LeetCode 062. 不同路径 dp


    地址  https://leetcode-cn.com/problems/unique-paths/submissions/

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

    输入:m = 3, n = 7
    输出:28
    
    示例 2:
    输入:m = 3, n = 2
    输出:3
    解释:
    从左上角开始,总共有 3 条路径可以到达右下角。
    1. 向右 -> 向右 -> 向下
    2. 向右 -> 向下 -> 向右
    3. 向下 -> 向右 -> 向右
    
    示例 3:
    输入:m = 7, n = 3
    输出:28
    
    示例 4:
    输入:m = 3, n = 3
    输出:6

    解答

    动态规划

    dp[i][j] 表示第i行j列能达到的方案数目
    dp[i][j] =dp[i-1][j] + dp[i][j-1];

    代码

    class Solution {
    public:
        int dp[110][110];
        int uniquePaths(int m, int n) {
            memset(dp, 0, sizeof dp);
            dp[0][0] = 1;
            for (int i = 0; i < m; i++) {
                for (int j = 0; j < n; j++) {
                    if (i > 0) dp[i][j] += dp[i - 1][j];
                    if (j > 0) dp[i][j] += dp[i][j - 1];
                }
            }
    
            return dp[m-1][n-1];
        }
    };
    
     
  • 相关阅读:
    Python中 sys.argv[]的用法简明解释
    Python-函数的递归调用
    第二模块闯关练习
    python项目中输出指定颜色的日志
    PyCharm 常用快捷键和设置
    time模块和datetime模块详解
    ansible模块lineinfile
    nginx日志分析
    iptables实现正向代理
    sersync2 安装,配置
  • 原文地址:https://www.cnblogs.com/itdef/p/14220483.html
Copyright © 2020-2023  润新知