LeetCode OJ 64. 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.
【题目分析】
一个m x n的格子,每一个格子上是一个非负整数,找到从左上角到右下角的路线,它所经过的格子的值的和最小,返回这个最小值。要求只能每一步只能向右或者向下移动。
【思路】
在前面的几个题目的基础上我们不难想出解决办法。
1. 对于第一行,A[0][j] += A[0][j-1];
2. 对于第一列,A[i][0] += A[i-1][0];
3. 对于其他值,A[i][j] += min(A[i-1][j],A[i][j-1]);
---->---->
通过这几个图我们可以看到求解的过程。
【java代码】
public class Solution {
public int minPathSum(int[][] grid) {
int row = grid.length;
int col = grid[0].length; if(row == 0 || col == 0) return 0; int[] dp = new int[col];
dp[0] = grid[0][0];
for(int j = 1; j < col; j++)
dp[j] = grid[0][j] + dp[j-1]; for (int i = 1; i < row; i++){
dp[0] += grid[i][0];
for (int j = 1; j < col; j++){
dp[j] = Math.min(dp[j-1], dp[j]) + grid[i][j];
}
} return dp[col - 1];
}
}
LeetCode OJ 64. Minimum Path Sum的更多相关文章
- 【LeetCode】64. Minimum Path Sum
Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...
- 【一天一道LeetCode】#64. Minimum Path Sum.md
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- 【LeetCode】64. Minimum Path Sum 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- LeetCode OJ:Minimum Path Sum(最小路径和)
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...
- [leetcode DP]64. Minimum Path Sum
一个m*n的表格,每个格子有一个非负数,求从左上到右下最短的路径值 和62,63两个值是同一个思路,建立dp表,记录每个位置到右下角的最短路径的值 class Solution(object): de ...
- leecode 每日解题思路 64 Minimum Path Sum
题目描述: 题目链接:64 Minimum Path Sum 问题是要求在一个全为正整数的 m X n 的矩阵中, 取一条从左上为起点, 走到右下为重点的路径, (前进方向只能向左或者向右),求一条所 ...
- 刷题64. Minimum Path Sum
一.题目说明 题目64. Minimum Path Sum,给一个m*n矩阵,每个元素的值非负,计算从左上角到右下角的最小路径和.难度是Medium! 二.我的解答 乍一看,这个是计算最短路径的,迪杰 ...
- 【LeetCode练习题】Minimum Path Sum
Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...
- [LeetCode] 64. Minimum Path Sum 最小路径和
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...
随机推荐
- IOS开发自定义tableviewcell的注意点😄
自定义tableviewcell 1.xib,nib拖控件:awakefromnib: 设置2,不拖控件:- (instancetype)initWithStyle:(UITableViewCellS ...
- JS 获取网页的宽高
网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWi ...
- Oracle 收集统计数据
查看最新用户表统计信息 select owner,table_name,last_analyzed from dba_tables where owner not like '%SYS%' order ...
- 【android错误】bitmap size exceeds 32bits
使用图片缩放时遇到这么个问题: java.lang.IllegalArgumentException: bitmap size exceeds 32bits 后来一行行查代码,发现原来是 scale ...
- [Q]安装问题(找不到InstallUtilLib.dll)
安装时提示 使用下面的方法解决(参考) 一.如果您的系统提示“没有找到Installutillib.Dll”或者“缺少Installutillib.Dll”等类似错误信息,请把Installutill ...
- 避免VMware P2V 过程中遇到的磁盘问题及解决 版本5.5
正式步骤开始:填写红色框内相关要被转换成虚拟机的物理机器的账号信息 选择虚拟主机要转换到的目的主机,填写相关的账号信息 设置转换参数:这里要注意一下关于磁盘的设置,注意:如果源系统是LVM的磁盘卷不将 ...
- Xcode 8 控制台输出大量不用的log的问题解决&&NSLog失效的解决
Product-->Scheme-->editeScheme中:Auguments中Environment Variable中 Scheme中添加环境变量 "OS_ACTIVIT ...
- 【 转】 C/C++结构体和联合体的区别
联合体用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型 总结: 声明一个联合体: union abc { i ...
- 使用Pycharm 安装三方库
除了使用easy_insatll和pip工具安装Python第三方库外还可以使用pycharm安装Python第三方库,步骤如下: 1.打开pycharm,点击File,再点击settings 2.点 ...
- 【成长之路】【python】python基础2
1.位运算 &(与) | (或) ~ (非) ^(异或) 2.三元运算 c = a+b if a>b else a-b if (a>b): a+b else: a-b 3.小知识( ...