一文搞定 LeetCode 64. 最小路径和(多维动态规划版)
2026/6/9 0:46:42 网站建设 项目流程

大家好,这篇文章快速记录LeetCode 64 最小路径和的最优解法,思路清晰、代码简短,适合新手直接理解+背诵。

题目

给定一个非负整数网格,从左上角到右下角,只能向右/向下走,求路径和最小的值。

核心思路

动态规划 + 原地修改

  • 第一行:只能从左边来 → 累加
  • 第一列:只能从上面来 → 累加
  • 其他格子:当前值 = 当前值 + min(上边, 左边)

完整代码(JS)

varminPathSum=function(grid){constm=grid.length;// 行数constn=grid[0].length;// 列数// 初始化第一行for(leti=1;i<n;i++){grid[0][i]+=grid[0][i-1];}// 初始化第一列for(leti=1;i<m;i++){grid[i][0]+=grid[i-1][0];}// 计算剩余格子for(leti=1;i<m;i++){for(letj=1;j<n;j++){grid[i][j]+=Math.min(grid[i-1][j],grid[i][j-1]);}}returngrid[m-1][n-1];};

代码逐行解释

  1. 获取行列m行数,n列数
  2. 第一行处理:只能从左侧过来,直接累加
  3. 第一列处理:只能从上方过来,直接累加
  4. 通用公式:每个格子取上方/左侧更小的值,加上当前值
  5. 返回结果:右下角就是最小路径和

复杂度

  • 时间:O(m*n) 遍历一次网格
  • 空间:O(1) 原地修改,无额外空间

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询