力扣热门100题之不同路径

核心思路

  • 机器人只能向右 或 向下
  • 到达 (i,j) 的路径数 = 从上面来 + 从左边来
  • 第一行、第一列全部都是 1(只有一条路)

状态转移:

复制代码
dp[i][j] = dp[i-1][j] + dp[i][j-1]

解释

  • 起点在 (0,0)
  • 终点在 (m-1, n-1)
  • 第一行只能一直右走 → 1 条
  • 第一列只能一直下走 → 1 条
  • 中间每个格子 = 上面的路数 + 左边的路数

完整代码实现:

java 复制代码
class Solution {
    public int uniquePaths(int m, int n) {
        int[][] dp = new int[m][n];

        // 第一列全是1 
        for(int i = 0;i<m;i++){
            dp[i][0] = 1;
        }
        //第一行全是1
        for(int j = 0;j<n;j++){
            dp[0][j] = 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];
    }
}
相关推荐
妄想出头的工业炼药师31 分钟前
LVIO鲁棒
算法·开源
aini_lovee1 小时前
MATLAB 图像修复 — 偏微分方程方法
算法
Cthy_hy1 小时前
Python算法竞赛:排列组合核心用法
开发语言·python·算法
大圣编程1 小时前
面向对象深度理解
java·开发语言·算法
爱喝水的鱼丶1 小时前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇) 第四篇:SAP 报表异常处理机制:数据校验与消息提示规范落地
开发语言·数据库·学习·算法·sap·abap
wabs6662 小时前
关于贪心算法【划分字母区间】的问题总结(C++语法)
算法·贪心算法
啦啦啦啦啦zzzz2 小时前
数据结构:二叉树的线索化
数据结构·算法
2401_872418783 小时前
算法入门:并查集(Disjoint Set / Union-Find):连通性问题的利器
算法
luj_17683 小时前
R语言生态优势与学习曲线分析
c语言·开发语言·网络·经验分享·算法
计算机安禾3 小时前
【算法分析与设计】第36篇:计算几何基础:凸包问题的分治与扫描线解法
大数据·人工智能·算法·机器学习·剪枝