当前位置:网站首页>力扣62 不同路径(从矩阵左上到右下的所有路径数量) (动态规划)
力扣62 不同路径(从矩阵左上到右下的所有路径数量) (动态规划)
2022-07-07 01:41:00 【裴南苇_】
今天遇到一道个人认为很有价值的动态规划问题。从这道题里,个人感觉对动态规划有了更深刻的了解,大家可以看看对自己又没有帮助。
先看题目:
一个机器人位于一个 m x n 网格的左上角,机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角问总共有多少条不同的路径?
示例
输入:m = 3, n = 2
输出:3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下
解答:
由题目得知,每一次只能向下或者向右移动
由此我们推知 ===》 到达一个格子的路径数量,由它左边格子和上边格子所决定
由此我们推知 ===》 这里可以使用动态规划的思想来解决
由此动态方程 ===》 dp[i][j] = dp[i-1][j] + dp[i][j-1]
至此,我们已经解决一半的问题了,然后我们再思考第一列和第一行,由于每一次只能向下或者向右移动,所以第一行的每个格子都只能由它左边的格子向右移动而来, 所以第一行dp[0][j] 都应该为1,第一列格子同理。
至此分析结束,列出代码
public int uniquePaths(int m, int n) {
int[][] dp = new int [m][n];
for(int i=0;i<n;i++){
dp[0][i] = 1;
}
for(int i=0;i<m;i++){
dp[i][0] = 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];
}
好了,这次的文章就到这里,喜欢的同学可以点赞收藏,遇到问题,可以评论,或者留言,我一定会第一时间给到回馈,感谢观看!!
注:本文为本人学习时心得分享,有讲错或者需要改正的地方,请指正,我会虚心接受
边栏推荐
- K8s running Oracle
- 「解析」FocalLoss 解决数据不平衡问题
- MySQL performance_ Schema common performance diagnosis query
- Markdown displays pictures side by side
- 基于ADAU1452的DSP及DAC音频失真分析
- Solve pod install error: FFI is an incompatible architecture
- New Year Fireworks code plus copy, are you sure you don't want to have a look
- Apple CMS V10 template /mxone Pro adaptive film and television website template
- Sequential storage of stacks
- JVM监控及诊断工具-命令行篇
猜你喜欢
[SOC FPGA] custom IP PWM breathing lamp
Chain storage of stack
10W word segmentation searches per second, the product manager raised another demand!!! (Collection)
CTFshow--常用姿势
[FPGA tutorial case 14] design and implementation of FIR filter based on vivado core
693. 行程排序
Go语学习笔记 - gorm使用 - 原生sql、命名参数、Rows、ToSQL | Web框架Gin(九)
一名普通学生的大一总结【不知我等是愚是狂,唯知一路向前奔驰】
JVM命令之- jmap:导出内存映像文件&内存使用情况
Go语学习笔记 - gorm使用 - gorm处理错误 | Web框架Gin(十)
随机推荐
基本Dos命令
Ctfshow-- common posture
JMeter's own functions are not enough? Why don't you develop one yourself
Deep clustering: joint optimization of depth representation learning and clustering
【FPGA教程案例14】基于vivado核的FIR滤波器设计与实现
JVM command - jmap: export memory image file & memory usage
高并发大流量秒杀方案思路
Three updates to build applications for different types of devices | 2022 i/o key review
云加速,帮助您有效解决攻击问题!
Markdown 并排显示图片
JVM命令之 jstack:打印JVM中线程快照
Database notes 04
可极大提升编程思想与能力的书有哪些?
jvm命令之 jcmd:多功能命令行
[FPGA] EEPROM based on I2C
Implementation of VGA protocol based on FPGA
ML's shap: Based on the adult census income binary prediction data set (whether the predicted annual income exceeds 50K), use the shap decision diagram combined with the lightgbm model to realize the
基于ADAU1452的DSP及DAC音频失真分析
vim映射大K
3428. Put apples