当前位置:网站首页>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]
}
边栏推荐
- ssh配置
- 麦聪DaaS平台 3.7.0 Release 正式发布:全面支持国际化
- selenium installation and environment configuration firefox
- ETH Zurich重磅综述 | 人脸-素描合成:一个新的挑战
- openlayers不常用接口介绍
- 连续三次 | 灵雀云入选Gartner中国ICT技术成熟度曲线报告
- Mobile Banking Experience Test: How to Get the Real User Experience
- 小姐姐面试蚂蚁金服被虐经历,心疼...
- 动态规划常见实例详解
- 【学习日记】win64配置openni的vs2022编译环境
猜你喜欢
Geoserver + mysql + openlayers problem
3 and a half years of testing experience, I don't have 20K, it seems it's time to change jobs
Functional test points for time, here is a comprehensive summary for you
selenium installation and environment configuration firefox
arcgis 分子式标注
Nature Microbiology综述:聚焦藻际--浮游植物和细菌互作的生态界面
实例034:调用函数
What is the use of IT assets management software
openlayers version update difference
香农与信息论三大定律
随机推荐
ETH Zurich重磅综述 | 人脸-素描合成:一个新的挑战
arcgis 分子式标注
Go----Go 语言快速体验之开发环境搭建及第一个项目HelloWord
[Dynamic Programming Special Training] Basics
Golang swagger :missing required param comment parameters
spack install报错/tmp/ccBDQNaB.s: Assembler message:
3年半测试经验,20K我都没有,看来是时候跳槽了
麦聪DaaS平台 3.7.0 Release 正式发布:全面支持国际化
EMQX Newsletter 2022-07|EMQX 5.0 正式发布、EMQX Cloud 新增 2 个数据库集成
Geoserver+mysql+openlayers
Functional test points for time, here is a comprehensive summary for you
治疗 | 如何识别和处理消极想法
互联网寒冬,挚友7面阿里,终获Offer
Boyun Selected as Gartner China DevOps Representative Vendor
Nature Microbiology综述:聚焦藻际--浮游植物和细菌互作的生态界面
Therapy | How to Identify and Deal with Negative Thoughts
聊一聊 AS 的一些好用的功能
你想要的宏基因组-微生物组知识全在这(2022.8)
【C语言刷题】双指针原地修改数组(力扣原题分析)
Detailed explanation of AtomicInteger