【DP】64.最小路径和

题目

法1:二维DP

必须掌握!

java 复制代码
class Solution {
    public int minPathSum(int[][] grid) {
        int m = grid.length, n = grid[0].length;
        int[][] matrix = new int[m][n];
        matrix[0][0] = grid[0][0];
        for (int i = 1; i < n; ++i) {
            matrix[0][i] = matrix[0][i - 1] + grid[0][i];
        }
        for (int i = 1; i < m; ++i) {
            matrix[i][0] = matrix[i - 1][0] + grid[i][0];
        }
        for (int i = 1; i < m; ++i) {
            for (int j = 1; j < n; ++j) {
                matrix[i][j] = Math.min(matrix[i - 1][j], matrix[i][j - 1]) + grid[i][j];
            }
        }

        return matrix[m - 1][n - 1];
    }
}
相关推荐
lvwangshu2 天前
P15569 [COCI 2025/2026 #5] 结构 / Struktura 题解
矩阵·题解·dp·推导题·矩阵加速
lvwangshu8 天前
P8981 「DROI」Round 1 距离 题解
动态规划·图论·题解·dp·树形dp·技巧·换根dp·性质题·思维好题
lvwangshu10 天前
CF1882D Tree XOR 题解
动态规划·题解·贪心·dp·树形dp·换根dp·性质题·思维好题·推导题
ting_zh18 天前
通过 AUX 通道调试 DP Link Traning
dp·aux
longlongzihan1 个月前
LeetCode 1004.最大连续1的个数III 滑动窗口及动态规划题解
c++·算法·leetcode·dp·滑动窗口
惆怅客1231 个月前
UVa11640 Mayor Election
dp·fft·icpc·uva·生成函数的乘法
语戚1 个月前
力扣 1621. 大小为K的不重叠线段的数目:动态规划(Java 实现)
java·算法·leetcode·动态规划·力扣·dp
Tisfy1 个月前
LeetCode 1477.找两个和为目标值且不重叠的子数组:滑动窗口 + 记录前值(动态规划)
动态规划·题解·dp·滑动窗口
Tisfy1 个月前
LeetCode 2472.不重叠回文子字符串的最大数目:动态规划(贪心)
动态规划·字符串·题解·贪心·dp·回文字符串
a187927218312 个月前
【算法】动态规划第四篇:背包收官——min 哨兵、计数世界与组合排列分水岭
算法·leetcode·动态规划·dp·01背包·算法讲解·决策合并