LeetCode 064 Minimum Path Sum
2014-08-07 10:07
507 查看
题目
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.
思路
很典型的DP题目,先把问题化为子问题。最后一个点的最短路径,只可能从上面或者左边过来,那么只要求得到上面那个点最短路径和最左边那个点的最短路径即可。然后把子问题推广到每个点,就是把子问题递归。最后再用备忘录的方法,由最右上的点开始遍历。
代码
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.
思路
很典型的DP题目,先把问题化为子问题。最后一个点的最短路径,只可能从上面或者左边过来,那么只要求得到上面那个点最短路径和最左边那个点的最短路径即可。然后把子问题推广到每个点,就是把子问题递归。最后再用备忘录的方法,由最右上的点开始遍历。
代码
public class Solution { public int minPathSum(int[][] grid) { int row = grid.length; if(row==0){ return 0; } int col = grid[0].length; for(int i=1;i<row;i++){ grid[i][0]+=grid[i-1][0]; } for(int j=1;j<col;j++){ grid[0][j]+=grid[0][j-1]; } for(int i=1;i<row;i++){ for(int j=1;j<col;j++){ grid[i][j]+=Math.min(grid[i-1][j],grid[i][j-1]); } } return grid[row-1][col-1]; } }
相关文章推荐
- leetcode_c++:Minimum Path Sum (064)
- LeetCode 064 Minimum Path Sum
- LeetCode064 Minimum Path Sum
- leetcode 064 —— Minimum Path Sum
- leetcode解题方案--064--Minimum Path Sum
- [LeetCode]题解(python):064-Minimum Path Sum
- 【LeetCode-面试算法经典-Java实现】【064-Minimum Path Sum(最小路径和)】
- LeetCode 064 Minimum Path Sum
- leetcode 064. Minimum Path Sum
- Java for LeetCode 064 Minimum Path Sum
- 【LeetCode-面试算法经典-Java实现】【064-Minimum Path Sum(最小路径和)】
- 【LeetCode】 064. Minimum Path Sum
- leetcode -- Minimum Path Sum -- 简单DP
- leetcode — minimum-path-sum
- leetcode - Minimum Path Sum
- 【LeetCode】C# 64、Minimum Path Sum
- 【leetcode】Minimum Path Sum
- LeetCode刷题【Array】 Minimum Path Sum
- leetcode[64]Minimum Path Sum
- leetcode -- Minimum Path Sum