【LeetCode笔记】62. 不同路径(Java、动态规划)
文章目录
- 题目描述
- 代码 & 思路
- 更新 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、动态规划)相关推荐
- 【LeetCode笔记】437. 路径总和III(Java、双重递归、二叉树)
文章目录 题目描述 思路 & 代码 题目描述 说实话确实比I & II要恶心一点 这里直接用双递归秒了(今天才发现我是之前先写的III,再写的I & II) 有前缀和的写法,但 ...
- 【Leetcode】62. 不同路径
题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为&qu ...
- LeetCode:62. 不同路径
题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为& ...
- LeetCode:62. 不同路径(python、c++)
题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为& ...
- LeetCode 120. 三角形最小路径和(动态规划)
题目描述 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径 ...
- leetcode系列-62.不同路径
题目描述: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ).机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为 ...
- 《LeetCode力扣练习》第62题 不同路径 Java
<LeetCode力扣练习>第62题 不同路径 Java 一.资源 题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ). ...
- 跟我打卡LeetCode 61旋转链表62不同路径63不同路径 II
原创公众号:bigsai 关注后回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 49字母异位词分组&50pow(x,n)&51八皇后 LeetCode打卡 52八皇 ...
- leetcode - 62. 不同路径
62. 不同路径 --------------------------------------------一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start&q ...
- LeetCode 576. 出界的路径数(动态规划)
文章目录 1. 题目 2. 解题 1. 题目 给定一个 m × n 的网格和一个球. 球的起始坐标为 (i,j) ,你可以将球移到相邻的单元格内,或者往上.下.左.右四个方向上移动使球穿过网格边界. ...
最新文章
- 什么是以太坊,它是区块链2.0的代表,它又什么特点?
- Spring Autowire自动装配
- java 原生数据类型的转换_Java基本数据类型转换分析
- Cambridge Website in a page
- 洛谷P1073 Tarjan + 拓扑排序 // 构造分层图
- Android 系统(182)---Android.mk的用法和基础 amp;amp; m、mm、mmm编译命令
- node怎么解析vue代码_vue中node_modules中第三方模块的修改使用详解
- (一)SVM的八股简介
- ora-12560:协议适配器错误
- 数学中的皇冠——数论
- SOFT Workplace 软件使用说明书
- 本页设置mac地址过滤来控制计算机对本无线网络的访问,D-Link无线路由器MAC地址过滤怎么设置...
- 抖音取关-autojs
- matlab怎么画碎石图,R语言学习笔记-主成分分析(PCA)
- 公有云服务器租赁协议,云服务器
- php的seeder是什么,Laravel框架使用Seeder实现自动填充数据功能
- 门萨智商测试题软件,门萨的智商测试题:限时45分钟,共20小题,145分以上智商超常...
- 如何高效管理自己的电脑?文件再多也不乱!
- OptiView® XG 网络分析平板电脑特性(上)
- 拳皇2000 全出招表 (ARC)
热门文章
- epoll边缘触发_4.2.3、epoll:水平触发与边缘触发
- 4怎么修边_亦木良品阻燃板怎么样
- 中科院大学计算机研究生考试大纲,中国科学院大学《计算机原理》2019年硕士研究生入学考试大纲...
- mysql关于日期的函数_MySQL中关于日期函数汇总
- [FPGA]基于FPGA的数字跑表
- Python数据类型-元组类型
- 机器学习实战之决策树
- Android之Intent深入
- 8.MySQL 数据操作 DML
- mysql慢sql增加读写分离_MySQL主从同步+读写分离