当前位置:网站首页>golang刷leetcode动态规划(12)最小路径和
golang刷leetcode动态规划(12)最小路径和
2022-08-02 18:54:00 【用户9710217】
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
说明:每次只能向下或者向右移动一步。
示例:
输入:
[
[1,3,1],
[1,5,1],
[4,2,1]
]输出: 7
解释: 因为路径 1→3→1→1→1 的总和最小。
解题思路
1,这也是一个典型的动态规划题
2,是递增的
3,状态转移方程为
if step[i-1][j]<step[i][j-1]{
step[i][j]=step[i-1][j]+grid[i][j]
}else{
step[i][j]=step[i][j-1]+grid[i][j]
}归纳总结
1,这种矩阵寻找路径类型的题目基本都是动态规划题目
2,动态规划问题都可以递归解,只不过利用空间换时间,存储了最优子结构
3,动态规划主要考察的是问题拆分能力,将一个问题拆分为一个个小问题,然后各个击破。
代码实现
func minPathSum(grid [][]int) int {
if len(grid)==0{
return 0
}
step:=make([][]int,len(grid))
for i:=0;i<len(grid);i++{
step[i]=make([]int,len(grid[0]))
}
step[0][0]=grid[0][0]
for i:=1;i<len(grid);i++{
step[i][0]=step[i-1][0]+grid[i][0]
}
for i:=1;i<len(grid[0]);i++{
step[0][i]=step[0][i-1]+grid[0][i]
}
for i:=1;i<len(grid);i++{
for j:=1;j<len(grid[0]);j++{
if step[i-1][j]<step[i][j-1]{
step[i][j]=step[i-1][j]+grid[i][j]
}else{
step[i][j]=step[i][j-1]+grid[i][j]
}
}
}
return step[len(grid)-1][len(grid[0])-1]
}边栏推荐
- 2022最新彩虹表
- Mppt光伏最大功率点跟踪控制matlab仿真
- Three components of NIO foundation
- 元旦快乐(2022)
- 86.(cesium之家)cesium叠加面接收阴影效果(gltf模型)
- 喜迎八一 《社会企业开展应聘文职人员培训规范》团体标准出版发行会暨橄榄枝大课堂上线发布会在北京举行
- 荐号 | 当一个人不联系你,不拉黑你,原因只有一个……!
- Therapy | How to Identify and Deal with Negative Thoughts
- Gradle系列——Gradle的build.gradle文件详情,项目发布(基于Gradle文档7.5)day3-3
- I have 8 years of experience in the Ali test, and I was able to survive by relying on this understanding.
猜你喜欢

线性表(顺序表和链表)

面试官:谈谈如何防止消息丢失和消息重复

3 and a half years of testing experience, I don't have 20K, it seems it's time to change jobs

基于OpenGL的冰川与火鸟(光照计算模型、视景体、粒子系统)

【学习日记】win64配置openni的vs2022编译环境

Mobile Banking Experience Test: How to Get the Real User Experience

86.(cesium之家)cesium叠加面接收阴影效果(gltf模型)

MySQL主从搭建(问题大聚集,告别部署烦恼)

我靠这套笔记自学,拿下字节50万offer....

AI智能剪辑,仅需2秒一键提取精彩片段
随机推荐
T31开发笔记:metaipc测试
JVM内存和垃圾回收-03.运行时数据区概述及线程
备战无人机配送:互联网派To C、技术派To B
斯堪尼亚SCANIA OTL标签介绍
Go----Go 语言快速体验之开发环境搭建及第一个项目HelloWord
EasyCVR平台通过国标GB28181接入柯达NVR显示注册失败,该如何解决?
【C语言刷题】Leetcode169——多数元素
Detailed explanation of AtomicInteger
What is the use of IT assets management software
ssh配置
移动跨端技术方案分析对比
ssh configuration
Compose主题切换——让你的APP也能一键换肤
【C语言刷题】Leetcode238——除自身以外数组的乘积
如何获取EasyCVR平台设备通道的RTMP视频流地址?
仿制药的未来商机--个人研发的体会
1.0.0到1.0.2的底层数据库表的更新,需要再重新自建数据库吗?
LSB利器-zsteg
「日志」深度学习 CUDA环境配置
【LeetCode】118. 杨辉三角 - Go 语言题解