【从下至上+动态规划】矩阵的最小路径和


求解代码

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

        int[][] dp = new int[m][n];
        dp[0][0] = matrix[0][0];

        for (int i = 1; i < m; i++) {
            dp[i][0] = dp[i - 1][0] + matrix[i][0];
        }

        for (int j = 1; j < n; j++) {
            dp[0][j] = dp[0][j - 1] + matrix[0][j];
        }

        for (int i = 1; i < m; i++) {
            for (int j = 1; j < n; j++) {
                dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1]) + matrix[i][j];
            }
        }
        return dp[m - 1][n - 1];
    }

小贴士

代码结构跟上一篇【至下而上+动态规划】不同路径的数目(一)是一样的。

dp[i][j] 的定义:从起点 (0,0) 走到位置 (i,j) 的最小路径和。

相关推荐
kklovecode2 小时前
数据结构---链表 & 栈
c语言·数据结构·算法
运筹说2 小时前
运筹说 第149期 粒子群算法入门:从鸟群觅食到优化求解,2大应用案例+MATLAB代码实战!
算法
lxw20230271162 小时前
python第一次作业
算法
苦藤新鸡2 小时前
20.右旋转图片
数据结构·算法·leetcode·力扣
ChoSeitaku2 小时前
28.C++进阶:map和set封装|insert|迭代器|[]
java·c++·算法
月挽清风2 小时前
代码随想录第六天:哈希表
算法·leetcode
爱编码的傅同学2 小时前
【今日算法】LeetCode 5.最长回文子串 和 287.寻找重复数
算法·leetcode·代理模式
张祥6422889042 小时前
GNSS单点定位方程推导笔记
人工智能·算法·机器学习
吴秋霖2 小时前
某网站x-s补环境(Cursor版)
算法·js逆向·cursor·补环境