最小路径和
来源:互联网 发布:詹姆斯卡梅隆,知乎 编辑:程序博客网 时间:2024/04/28 13:00
给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。
从上到下从左到右的求解出从左上角到网络中任意点得最小数字和,求和的时候具有递归性
可以发现
a b c
e f g
h j m
若要求到m处的最小值值,只需要将到g处和j处的最小值做比较取其中的小值求和即可.依此推到,首行和首列的最小值是唯一的,因此可以直接求出左上角到网络中任意点得最小数字和.
例如:fmin = min(e,b) + f
gmin = min(f,c) + g
求出f就可以求出g
public class Solution { /** * @param grid: a list of lists of integers. * @return: An integer, minimizes the sum of all numbers along its path */ public int minPathSum(int[][] grid) { // write your code here int m = grid.length; int n = grid[0].length; int [][]dp = new int[m][n]; dp[0][0] = grid[0][0]; //首行 for(int i = 1; i < n; i++){ dp[0][i] = dp[0][i-1] + grid[0][i]; } //首列 for(int i = 1; i < m; i++){ dp[i][0] = dp[i-1][0] + grid[i][0]; } //中间区域 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]) + grid[i][j]; } } //最小值 return dp[m-1][n-1]; }}
0 0
- 题目:最小路径和
- LintCode -- 最小路径和
- LintCode:最小路径和
- LintCode-最小路径和
- 最小路径和
- 最小路径和
- 最小路径和
- Leetcode029--最小路径和
- 最小路径和
- 最小路径和
- 110-最小路径和
- 矩阵最小路径和
- 最小路径和
- 最小路径和-LintCode
- lintcode --最小路径和
- 64.最小路径和
- 矩阵最小路径和
- 最小路径和
- 【图】【并查集】无所不在的宗教
- 隐写术具体实现
- 超级实用的Web工具介绍
- 如何做好技术管理工作
- MapReduce初体验
- 最小路径和
- 叉积与点积的运用
- Sql Server 插入数据的同时返回插入数据的ID/主键信息
- 风枪bga芯片焊接方法参数技巧
- java中的Iterator迭代器的使用
- I/O重定向 I/O Redirection
- hibernate框架中session缓存的flush(),commit(),refresh(),clear()方法
- Can't parse message of type "..." because it is missing required fields: eType问题的解决办法
- leetcode~Recover Binary Search Tree