【LeetCode热题100(87/100)】最小路径和

题目地址: 链接

状态转移方程:

d p [ i ] [ j ] = { g r i d [ 0 ] [ 0 ] , 当 i = 1 且 j = 1 (起点) d p [ i − 1 ] [ 1 ] + g r i d [ i − 1 ] [ 0 ] , 当 i > 1 且 j = 1 (第一列) d p [ 1 ] [ j − 1 ] + g r i d [ 0 ] [ j − 1 ] , 当 i = 1 且 j > 1 (第一行) min ⁡ ( d p [ i − 1 ] [ j ] , d p [ i ] [ j − 1 ] ) + g r i d [ i − 1 ] [ j − 1 ] , 当 i > 1 且 j > 1 (非边界,取左/上最小路径和 + 当前值) dp[i][j] = \begin{cases} grid[0][0], & \text{当 } i=1 \text{ 且 } j=1 \text{(起点)} \\ dp[i-1][1] + grid[i-1][0], & \text{当 } i>1 \text{ 且 } j=1 \text{(第一列)} \\ dp[1][j-1] + grid[0][j-1], & \text{当 } i=1 \text{ 且 } j>1 \text{(第一行)} \\ \min(dp[i-1][j], dp[i][j-1]) + grid[i-1][j-1], & \text{当 } i>1 \text{ 且 } j>1 \text{(非边界,取左/上最小路径和 + 当前值)} \end{cases} dp[i][j]=⎩ ⎨ ⎧grid[0][0],dp[i−1][1]+grid[i−1][0],dp[1][j−1]+grid[0][j−1],min(dp[i−1][j],dp[i][j−1])+grid[i−1][j−1],当 i=1 且 j=1(起点)当 i>1 且 j=1(第一列)当 i=1 且 j>1(第一行)当 i>1 且 j>1(非边界,取左/上最小路径和 + 当前值)

js 复制代码
/*
 * @lc app=leetcode.cn id=64 lang=typescript
 *
 * [64] 最小路径和
 */

// @lc code=start
function minPathSum(grid: number[][]): number {
    const [n, m] = [grid.length, grid[0].length];
    const dp = Array.from({length: n + 1}, () => new Array(m + 1).fill(0));
    dp[1][1] = grid[0][0];
    for(let i = 2; i <= n; i ++) dp[i][1] = dp[i - 1][1] + grid[i - 1][0];
    for(let i = 2; i <= m; i ++) dp[1][i] = dp[1][i - 1] + grid[0][i - 1];

    for(let i = 2; i <= n; i ++) {
        for(let j = 2; j <= m; j ++) {
            dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1]) + grid[i - 1][j - 1];
        }
    }

    return dp[n][m];
};
// @lc code=end
相关推荐
Σίσυφος19005 小时前
PCL法向量估计 之 RANSAC 平面估计法向量
算法·机器学习·平面
xhbaitxl5 小时前
算法学习day39-动态规划
学习·算法·动态规划
I_LPL5 小时前
day23 代码随想录算法训练营 回溯专题2
算法·hot100·回溯算法·求职面试
智者知已应修善业5 小时前
【洛谷P9975奶牛被病毒传染最少数量推导,导出多样例】2025-2-26
c语言·c++·经验分享·笔记·算法·推荐算法
m0_736919105 小时前
C++中的委托构造函数
开发语言·c++·算法
小小小小王王王6 小时前
洛谷-P1886 【模板】单调队列 / 滑动窗口
c++·算法
网络安全-杰克6 小时前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展
PPPPPaPeR.6 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
看我干嘛!6 小时前
python第五次作业
算法
历程里程碑6 小时前
Linux 库
java·linux·运维·服务器·数据结构·c++·算法