文章目录

  • 题目描述
  • 代码 & 思路
    • 更新 2.0 版本

题目描述

  • 一眼bfs,不过超时了。。。
  • 好,那么我们就用动态规划来做!

代码 & 思路

  • 和走迷宫差不多,从终点往起点走。
  • dp[i][j]代表(i,j)到终点的可行路径,因此dp[0][0]就是ans。
  • 初始化终点上方、左方的dp[i][j],都是1(很好理解,就一条路到终点)
  • 然后进行循环,dp[i][j]的值可以由dp[i-1][j]和dp[i][j-1]得到(当然要注意边界)
class Solution {public int uniquePaths(int m, int n) {if(m == 1 || n == 1){return 1;}// dp[i][j] 代表(i,j)到达终点的可行路线有几条int[][] dp = new int[m][n];// 初始化dp[m-1][n-2] = 1;dp[m-2][n-1] = 1;for(int i=m-1;i>=0;i--){for(int j=n-1;j>=0;j--){if(i + 1 < m){dp[i][j] += dp[i+1][j];}if(j + 1 < n){dp[i][j] += dp[i][j+1];}}}return dp[0][0];}
}

更新 2.0 版本

  • 通过添加边界,来简化操作
class Solution {public int uniquePaths(int m, int n) {int[][] dp = new int[m + 1][n + 1];dp[m - 1][n - 1] = 1; for(int i = m - 1; i >= 0; i--) {for(int j = n - 1; j >= 0; j--) {dp[i][j] += dp[i + 1][j] + dp[i][j + 1];}}return dp[0][0];}
}

【LeetCode笔记】62. 不同路径(Java、动态规划)相关推荐

  1. 【LeetCode笔记】437. 路径总和III(Java、双重递归、二叉树)

    文章目录 题目描述 思路 & 代码 题目描述 说实话确实比I & II要恶心一点 这里直接用双递归秒了(今天才发现我是之前先写的III,再写的I & II) 有前缀和的写法,但 ...

  2. 【Leetcode】62. 不同路径

    题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为&qu ...

  3. LeetCode:62. 不同路径

    题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为& ...

  4. LeetCode:62. 不同路径(python、c++)

    题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为& ...

  5. LeetCode 120. 三角形最小路径和(动态规划)

    题目描述 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径 ...

  6. leetcode系列-62.不同路径

    题目描述: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ).机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为 ...

  7. 《LeetCode力扣练习》第62题 不同路径 Java

    <LeetCode力扣练习>第62题 不同路径 Java 一.资源 题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ). ...

  8. 跟我打卡LeetCode 61旋转链表62不同路径63不同路径 II

    原创公众号:bigsai 关注后回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 49字母异位词分组&50pow(x,n)&51八皇后 LeetCode打卡 52八皇 ...

  9. leetcode - 62. 不同路径

    62. 不同路径 --------------------------------------------一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start&q ...

  10. LeetCode 576. 出界的路径数(动态规划)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个 m × n 的网格和一个球. 球的起始坐标为 (i,j) ,你可以将球移到相邻的单元格内,或者往上.下.左.右四个方向上移动使球穿过网格边界. ...

最新文章

  1. 什么是以太坊,它是区块链2.0的代表,它又什么特点?
  2. Spring Autowire自动装配
  3. java 原生数据类型的转换_Java基本数据类型转换分析
  4. Cambridge Website in a page
  5. 洛谷P1073 Tarjan + 拓扑排序 // 构造分层图
  6. Android 系统(182)---Android.mk的用法和基础 amp;amp; m、mm、mmm编译命令
  7. node怎么解析vue代码_vue中node_modules中第三方模块的修改使用详解
  8. (一)SVM的八股简介
  9. ora-12560:协议适配器错误
  10. 数学中的皇冠——数论
  11. SOFT Workplace 软件使用说明书
  12. 本页设置mac地址过滤来控制计算机对本无线网络的访问,D-Link无线路由器MAC地址过滤怎么设置...
  13. 抖音取关-autojs
  14. matlab怎么画碎石图,R语言学习笔记-主成分分析(PCA)
  15. 公有云服务器租赁协议,云服务器
  16. php的seeder是什么,Laravel框架使用Seeder实现自动填充数据功能
  17. 门萨智商测试题软件,门萨的智商测试题:限时45分钟,共20小题,145分以上智商超常...
  18. 如何高效管理自己的电脑?文件再多也不乱!
  19. OptiView® XG 网络分析平板电脑特性(上)
  20. 拳皇2000 全出招表 (ARC)

热门文章

  1. epoll边缘触发_4.2.3、epoll:水平触发与边缘触发
  2. 4怎么修边_亦木良品阻燃板怎么样
  3. 中科院大学计算机研究生考试大纲,中国科学院大学《计算机原理》2019年硕士研究生入学考试大纲...
  4. mysql关于日期的函数_MySQL中关于日期函数汇总
  5. [FPGA]基于FPGA的数字跑表
  6. Python数据类型-元组类型
  7. 机器学习实战之决策树
  8. Android之Intent深入
  9. 8.MySQL 数据操作 DML
  10. mysql慢sql增加读写分离_MySQL主从同步+读写分离