LeetCode-62-不同路径-动态规划

题目描述:

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 "Finish" )。

问总共有多少条不同的路径?

题目链接: LeetCode-62-不同路径

解题思路:详见注释~
代码实现:

java 复制代码
class Solution {
    public int uniquePaths(int m, int n) {
        // 1. dp[i][j]含义:走到(i,j)位置有dp[i][j]条路径
        // 2. 递推公式:dp[i][j]依赖与 dp[i-1][j] 和 dp[i][j-1]的路径个数
        //            dp[i][j] = dp[i-1][j] + dp[i][j-1]
        // 3. 如何初始化:第一行和第一列均初始化为 1,不管怎么走都只有一种方法,要么一直向右,要么一直向下
        //          dp[0][j]=1
        //          dp[i][0]=1
        // 4. 遍历顺序:从左上到右下

        // 定义一个二维的dp数组
        int[][] dp = new int[m][n];
        for (int i = 0; i < m; i++) {
            dp[i][0]=1;
        }
        for (int i = 0; i < n; i++) {
            dp[0][i]=1;
        }

        for (int i = 1; i < m; i++) {
            for (int j = 1; j < n; j++) {
                dp[i][j]=dp[i-1][j] + dp[i][j-1];
            }
        }
        return dp[m-1][n-1];
    }
}
相关推荐
拼好饭和她皆失5 分钟前
高效算法的秘诀:滑动窗口(尺取法)全解析
数据结构·算法·滑动窗口·尺取法
断剑zou天涯16 分钟前
【算法笔记】二叉树的Morris遍历
数据结构·笔记·算法
元亓亓亓17 分钟前
LeetCode热题100--739. 每日温度--中等
python·算法·leetcode
小白程序员成长日记19 分钟前
2025.12.11 力扣每日一题
数据结构·算法·leetcode
一碗白开水一20 分钟前
【论文阅读】Denoising Diffusion Probabilistic Models (DDPM)详细解析及公式推导
论文阅读·人工智能·深度学习·算法·机器学习
代码游侠25 分钟前
学习笔记——进程
linux·运维·笔记·学习·算法
天赐学c语言28 分钟前
12.11 - 最长回文子串 && main函数是如何开始的
c++·算法·leetcode
CoovallyAIHub30 分钟前
AI模型训练有哪些关键步骤与必备工具?从概念到可运行的智能模型
深度学习·算法·计算机视觉
程序员-King.33 分钟前
day122—二分查找—完成旅途的最少时间(LeetCode-2187)
算法·leetcode·二分查找·双指针
暗之星瞳34 分钟前
线性回归+实例
算法·回归·线性回归