【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];
    }
}
相关推荐
疯狂的小强呀18 小时前
超详细讲解:DP和DDP的区别以及使用方法
算法·dp·ddp
Jcqsunny4 天前
[dp] 小信走迷宫
算法·前缀和·动态规划·dp
源代码•宸18 天前
Leetcode—322. 零钱兑换【中等】(memset(dp,0x3f, sizeof(dp))
c++·算法·leetcode·职场和发展·dp
Qres82125 天前
[SCOI2014] 方伯伯的玉米田(dp+树状数组维护行列)
数据结构·dp·ds
源代码•宸1 个月前
Leetcode—72. 编辑距离【中等】
c++·算法·leetcode·dp
WJX5741 个月前
最长公共子序列
dp
sweetheart7-71 个月前
LeetCode152. 乘积最大子数组(2024秋季每日一题 2)
数据结构·算法·动态规划·dp·每日一题
源代码•宸2 个月前
Leetcode—1143. 最长公共子序列【中等】
c++·经验分享·算法·leetcode·dp
rgw20102 个月前
P1973 [NOI2011] NOI 嘉年华
指针·dp·noi·线段树优化 dp
rgw20102 个月前
P1081 [NOIP2012 提高组] 开车旅行
动态规划·dp·倍增·noip·倍增优化 dp