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


求解代码

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) 的最小路径和。

相关推荐
Run_Teenage1 小时前
算法:线段树
算法
Westward-sun.1 小时前
YOLOv2算法全方位解析:从BatchNorm到聚类先验框的九大改进
算法·yolo·聚类
扶苏xw1 小时前
【离散化算法】
算法
码之气三段.1 小时前
Codeforces Round 1095 (Div. 2) 补题
算法
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 189. 轮转数组 | C++ 三次反转经典魔法 (O(1) 空间)
c++·算法·leetcode
wuweijianlove1 小时前
算法可扩展性建模与渐进性能分析的技术7
算法
shehuiyuelaiyuehao1 小时前
算法14,滑动窗口,找到字符串中所有字母异位词
算法
凯瑟琳.奥古斯特2 小时前
图论核心考点精讲
开发语言·数据结构·算法·排序算法·哈希算法
WolfGang0073212 小时前
代码随想录算法训练营 Day49 | 图论 part07
算法·图论
啦啦啦_99992 小时前
案例之 逻辑回归_癌症预测
算法·机器学习·逻辑回归