`

Minimum Path Sum

阅读更多
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.

Note: You can only move either down or right at any point in time.

最小路径求和的问题,用动态规划来解决。每经过一个点都记录从开始到这个点的最小带权路径。当i = 0 或者j = 0的时候,因为只有一个方向可以走,这时的递推式为grid[i][0] = grid[i - 1][0] + grid[i][0] (j = 0) 和grid[0][j] = grid[0][j - 1] + grid[0][j] ( i = 0)。当i >0 并且j > 0 时,递推式为grid[i][j] = Math.min(grid[i - 1][j], grid[i][j - 1]) + grid[i][j],每次都取一个和最小的路径。代码如下:
public class Solution {
    public int minPathSum(int[][] grid) {
        if(grid == null || grid.length == 0) return 0;
        int m = grid.length;
        int n = grid[0].length;
        for(int i = 1; i < m; i++)
            grid[i][0] = grid[i - 1][0] + grid[i][0];
        for(int j = 1; j < n; j++)
            grid[0][j] = grid[0][j - 1] + grid[0][j];
        for(int i = 1; i < m; i++)
            for(int j = 1; j < n; j++) {
                grid[i][j] = Math.min(grid[i - 1][j], grid[i][j - 1]) + grid[i][j];
            }
        return grid[m - 1][n - 1];
    }
}
分享到:
评论

相关推荐

    js-leetcode题解之64-minimum-path-sum.js

    javascript js_leetcode题解之64-minimum-path-sum.js

    C语言-leetcode题解之64-minimum-path-sum.c

    c语言入门 C语言_leetcode题解之64-minimum-path-sum.c

    基础班7、8节作业1

    5. 最小路径和:这是一个典型的二维数组动态规划问题,LeetCode的第15 minimum path sum题目。目标是从左上角到右下角找到经过的所有单元格的最小和,每次可以向右或向下移动。可以创建一个二维数组dp,dp[i][j]表示...

    3、动态规划必练题(含解法).pdf

    4. **Minimum Path Sum** (最小路径和) 从左上角到右下角,每一步可以向右或向下移动,求经过的最小路径和。状态转移方程为`dp[i][j] = dp[i-1][j] + dp[i][j-1] + grid[i][j]`。 5. **Maximum Subarray** (最大子...

    最小路径和(java代码).docx

    public class MinimumPathSum { public static int minPathSum(int[][] grid) { int m = grid.length; int n = grid[0].length; int[][] dp = new int[m][n]; // 创建 dp 数组用于存储路径上数字总和的最小值 ...

    leetcode-常见考题2.pdf

    - 在 JumpGame 和 MinimumPathSum 题目中,动态规划用于找出跳跃游戏或路径选择中达到最优解的策略。 4. **堆栈**: - 堆栈数据结构可以用于处理与括号匹配、表达式求值等相关的题目。 - 在 ...

    javalruleetcode-LeetCode::lollipop:个人LeetCode习题解答仓库-多语言

    java lru leetcode :ice_cream: LeetCode Kindem 的个人 LeetCode 题解仓库,欢迎交流学习。 下面的目录中 $number 题号代表经典 LeetCode 题目,$number.$number ...Sum ...Sum ...Sum ...Minimum Path Sum 73

    进阶班7、8节作业1

    矩阵的最小路径和问题是一道典型的动态规划题目,来源于LeetCode上的问题"Minimum Path Sum"。在这个问题中,我们给定一个二维矩阵`grid`,其中每个元素代表路径上的代价。任务是找到从左上角(坐标(0,0))到右下角...

    _leetcode-python.pdf

    - Minimum Path Sum: 在一个m×n的网格中,找到从左上角到右下角的路径,使得路径上的数字总和最小。 - Plus One: 给定一个由整数组成的非空数组,表示一个非负整数,将这个整数加一。 - Add Binary: 给定两个二进制...

    leetcode分类-LeetCode:力码

    Minimum Path Sum Unique Paths Unique Paths II Longest Palindromic Substring Interleaving String Triangle Distinct Subsequences Decode Ways Palindrome Partitioning II Maximal Rectangle ###Recursion N-...

    gasstationleetcode-leetcode:LeetcodeOJ解决方案

    64.Minimum Path Sum 2017/03/09 70.Climbing Stairs, 198.House Robber, 55.Jump Game 72.Edit Distance, 97.Interleaving String, 115.Distinct Subsequences 2017/04/24 (Lintcode)92.Backpack, (Lintcode)125....

    Anfany#LeetCode_Python3_Solution#64 最小路径和1

    二、Python3程序64_Minimum_Path_Sum 最小路径和# 利用动态规划的方法# 要到达索引为[r,l]的网格# 一是从[r,l-1]的网格向右

    算法上机!!

    (2) What are the maximum and minimum number of comparisons will Quicksort do on a list of n elements, give an instance for maximum and minimum case respectively. Give a divide and conquer algorithm ...

    常见算法题答案及解析

    31. Binary Tree Maximum Path Sum:二叉树中的最大路径和。 32. Binary Tree Upside Down:将二叉树进行上下翻转。 五、位运算 33. Single Number:只出现一次的数字,要求不使用额外空间。 34. Single Number II...

    Leetcode题目+解析+思路+答案.pdf

    - **Path Sum II**:寻找所有从根节点到叶节点的路径,其路径和等于给定的目标值。 - **Flatten Binary Tree to Linked List**:将二叉树展平为单链表。 - **Validate Binary Search Tree**:验证一个二叉树是否...

    javascript-leetcode面试题解动态规划问题之第931题下降路径最小和-题解.zip

    本题解关注的是第931题,即“下降路径最小和”(Minimum Falling Path Sum),这是一个典型的动态规划问题,对求职面试中的算法能力考察具有重要意义。 动态规划是一种解决复杂问题的有效方法,它通过将大问题分解...

    Leetcode book刷题必备

    31. Binary Tree Maximum Path Sum:二叉树中的最大路径和。 32. Binary Tree Upside Down:将一个二叉树进行翻转。 【位操作】 33. Single Number:找出数组中唯一不出现一次的数字。 34. Single Number II:找出...

    opencvaddopencvcontrib450-cmake.zip

    Tracker是目标跟踪功能的集合,它提供了多种跟踪算法,如KCF(Kernelized Correlation Filters)、MOSSE(Minimum Output Sum of Squared Errors)、CSRT(Constrained Local Model for Visual Tracking)等。...

Global site tag (gtag.js) - Google Analytics