力扣热门100题之最小路径和

核心思路

  • 只能右 / 下
  • 到达 (i,j) 的最小和 = min (上面来,左边来) + 当前格子值
  • 第一行、第一列要先累加好

转移方程

复制代码
dp[i][j] = Math.min(dp[i-1][j], dp[i][j-1]) + grid[i][j];

通俗解释

  1. 第一列:只能从上边走下来,所以一路累加
  2. 第一行:只能从左边走过来,一路累加
  3. 中间格子
    • 从上面来的代价:grid[i-1][j]
    • 从左边来的代价:grid[i][j-1]
    • 小的那个,再加上当前格子数值

完整代码实现:

java 复制代码
class Solution {
    public int minPathSum(int[][] grid) {
        int m = grid.length;
        int n = grid[0].length;

        //第一列累加
        for(int i = 1;i<m;i++){
            grid[i][0] += grid[i-1][0];
        }
        //第一行累加
        for(int j = 1;j<n;j++){
            grid[0][j] += grid[0][j-1];
        }

        //中间:取上,左较小值 + 当前值
        for(int i = 1;i<m;i++){
            for(int j =1;j<n;j++){
                grid[i][j] += Math.min(grid[i-1][j],grid[i][j-1]);
            }
        }
        return grid[m-1][n-1];
    }
}
相关推荐
lsylalalala2 小时前
常见的排序算法1
数据结构·算法·排序算法
想吃火锅10052 小时前
【leetcode】54. 螺旋矩阵
算法·leetcode·矩阵
想吃火锅10053 小时前
【leetcode】300. 最长递增子序列
算法·leetcode·职场和发展
imaol13 小时前
数据结构---队列
java·数据结构·算法
数模竞赛Paid answer3 小时前
2026年电工杯数学建模A题绿电直连型电氢氨园区优化运行求解全过程论文及程序
算法·数学建模·电工杯
疯狂打码的少年3 小时前
【数据结构】串的模式匹配:KMP算法(重点)
数据结构·笔记·算法
晚风醉蝶4 小时前
第零篇-算法全景图
算法
疯狂打码的少年4 小时前
【数据结构】树的基本概念与二叉树定义
java·数据结构·笔记·算法
webmote334 小时前
用 NVIDIA Nemotron 3 Super + .NET 构建有记忆的多轮对话
后端·算法
Keven_115 小时前
算法札记:区分稀疏图与稠密图在经验上的数学计算差异
算法·稠密图·稀疏图