当前位置:网站首页>【LeetCode】64. 最小路径和 - Go 语言题解
【LeetCode】64. 最小路径和 - Go 语言题解
2022-07-30 22:48:00 【想变厉害的大白菜】
一、题目描述
给定一个包含非负整数的 m * n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
说明:每次只能向下或者向右移动一步。
示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:7
解释:因为路径 1→3→1→1→1 的总和最小。
示例 2:
输入:grid = [[1,2,3],[4,5,6]]
输出:12
提示:
m == grid.length
n == grid[i].length
1 <= m, n <= 200
0 <= grid[i][j] <= 100
题目链接:https://leetcode.cn/problems/minimum-path-sum
二、解题思路
我们将经过的格子的重量叠加到当前到的格子上,就是当前路径的和。
从左上角到右下角的路径,每走一步只能是向右走或者向下走,因此到达某一个格子只会是 从上面来 的或者 从左边来 的。
因此要找 最小 路径的话,我们在叠加当前格子时,要选择已经走过的代价比较小的那条路:选择上面或者左边格子比较小的那一个。
也有例外:第一横排只能是左边来的,第一竖列只能是上面来的。
我们可以一排一排遍历:
第一排:grid[i][j] = grid[i][j] + grid[i][j-1]
第一列:grid[i][j] = grid[i][j] + grid[i-1][j]
其他位置:
grid[i][j] = grid[i][j] + min(grid[i-1][j],grid[i][j-1])
三、我的题解
Go 语言代码:
func minPathSum(grid [][]int) int {
m := len(grid)
n := len(grid[0])
for i:=0; i<m;i++{
for j:=0; j<n;j++{
if i==0 && j==0{
continue
}else if i==0{
grid[i][j] = grid[i][j] + grid[i][j-1]
}else if j==0{
grid[i][j] = grid[i][j] + grid[i-1][j]
}else{
grid[i][j] = grid[i][j] + min(grid[i-1][j],grid[i][j-1])
}
}
}
return grid[m-1][n-1]
}
func min(a,b int) int {
if a<=b {
return a
}else{
return b
}
}
评判结果:

边栏推荐
- [SAM模板题] P3975 [TJOI2015] 弦论
- 【高等数学】矩阵与向量组的秩和等价
- [MySQL] DQL related operations
- MySql统计函数COUNT详解
- proxy反向代理
- 鳄梨价格数据集(Avocado Prices)
- [MySQL] Mysql transaction and authority management
- When Navicat connects to MySQL, it pops up: 1045: Access denied for user 'root'@'localhost'
- mysql获取近7天,7周,7月,7年日期,根据当前时间获取近7天,7周,7月,7年日期
- 成功解决ImportError: cannot import name ‘_validate_lengths‘
猜你喜欢
随机推荐
DFS question list and template summary
ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图/依赖关系贡献图可视化实现可解释性之攻略
Compressing Deep Graph Neural Networks via Adversarial Knowledge Distillation
代码越写越乱?那是因为你没用责任链
Day016 Classes and Objects
详解操作符
“蔚来杯“2022牛客暑期多校训练营4 L.Black Hole 垃圾计算几何
2022牛客暑期多校训练营1 J Serval and Essay
# # yyds dry goods inventory interview will brush TOP101: to determine whether there is a part of the list
When Navicat connects to MySQL, it pops up: 1045: Access denied for user 'root'@'localhost'
一文详解:SRv6 Policy模型、算路及引流
Debezium报错系列之二十:task failed to create new topic.Ensure that the task is authorized to create topics
“蔚来杯“2022牛客暑期多校训练营4 DHKLN
【云驻共创】HCSD大咖直播–就业指南
【科研】文献下载神器方式汇总
成功解决ImportError: cannot import name ‘_validate_lengths‘
解决一个Mysql的utf8编码导致的问题
HF2022-EzPHP复现
力扣题(2)—— 两数相加
MySQL 8.0.29 set and modify the default password









