leetcode || 64、Minimum Path Sum
problem:
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.
thinking:
(1)矩阵的路径问题(求路径总数。带障碍物的路径总数。加权最小、最大路径等),因为具有清晰且简易的状态转移公式,
统统能够用DP法解决,时间复杂度都为O(m*n)
(2) 用DP解决全局最优问题!
。该题是否具有局部最优解呢。状态转移公式:a[i][j] = min(a[i-1][j], a[i][j-1]) + grid[i][j];
规定了每一步的选择都是最优解。所以局部最优是成立的
code:
class Solution {
public:
int minPathSum(vector<vector<int> > &grid) {
vector<vector<int> >::const_iterator con_it=grid.begin();
int m=grid.size();
int n=(*con_it).size();
vector<int> tmp(n,0);
vector<vector<int> > a(m,tmp);
if(m==0 || n==0)
return 0;
a[0][0]=grid[0][0];
for(int i=1;i<m;i++)
a[i][0]=a[i-1][0]+grid[i][0];
for(int j=1;j<n;j++)
a[0][j]=a[0][j-1]+grid[0][j];
for(int i = 1; i < m; i++)
for(int j = 1; j < n; j++)
a[i][j] = min(a[i-1][j], a[i][j-1]) + grid[i][j];
return a[m-1][n-1];
}
};
leetcode || 64、Minimum Path Sum的更多相关文章
- 【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
题目 Total Accepted: 47928 Total Submissions: 148011 Difficulty: Medium Given a m x n grid filled with ...
- 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】064. Minimum Path Sum
题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right w ...
- LeetCode 64. 最小路径和(Minimum Path Sum) 20
64. 最小路径和 64. Minimum Path Sum 题目描述 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明: 每次只能向下或 ...
- Leetcode之动态规划(DP)专题-64. 最小路径和(Minimum Path Sum)
Leetcode之动态规划(DP)专题-64. 最小路径和(Minimum Path Sum) 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. ...
- 【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 ...
- 刷题64. Minimum Path Sum
一.题目说明 题目64. Minimum Path Sum,给一个m*n矩阵,每个元素的值非负,计算从左上角到右下角的最小路径和.难度是Medium! 二.我的解答 乍一看,这个是计算最短路径的,迪杰 ...
- leecode 每日解题思路 64 Minimum Path Sum
题目描述: 题目链接:64 Minimum Path Sum 问题是要求在一个全为正整数的 m X n 的矩阵中, 取一条从左上为起点, 走到右下为重点的路径, (前进方向只能向左或者向右),求一条所 ...
随机推荐
- 【架构】使用OpenStack、AliYun、AWS、Docker打造融合的IAAS、PAAS平台
GalaxyManager,即平台门户,旨在整合数据中心异构虚拟化资源为统一的资源池,并在资源池上为用户提供各类IAAS.PAAS服务. GitHub:https://github.com/junne ...
- 【实践】用 js 封装java shuffle函数(打乱数组下标方法)
此方法返回的会是一个全新的数组 所以并不会像java里的shuffle函数一样返回一个引用一样的数组 思路如下: 1.新建一个函数传入需要打乱下标的数组 2.获取数组的长度 3.新建一个用来保存并且返 ...
- [Android Pro] 注册 Google Play 开发者帐户
官网地址: https://support.google.com/googleplay/android-developer/answer/6112435?hl=zh-Hans 博客地址: http:/ ...
- Spark1.0.0 history server 配置
在执行Spark应用程序的时候,driver会提供一个webUI给出应用程序的执行信息.可是该webUI随着应用程序的完毕而关闭port,也就是说,Spark应用程序执行完后,将无法查看应用程序的历史 ...
- kindeditor 图片上传插件
富文本编辑器,kindeditor是比较好用的一款.需要的功能都有,文档.demo也详细.有什么功能去官网看一眼就好. 官网:http://kindeditor.net/ 一些好用的如图片上传,kin ...
- Spring之替换Bean的返回结果,替换Bean的方法实例
Spring是一个非常强悍的框架+容器,其中有代理模式(动态代理模式)的极致体现.下面是两个比较让人感觉精彩的代码使用,重点关注main方法中的ClassPathXMlApplicationConte ...
- Android动画之旅-Android动画基本介绍
在上一篇博客中.我们简单了解了在Android中的动画特效.小伙伴们是不是意犹未尽呀. 还没有看的猛戳这里:Android动画之旅一开篇动画简单介绍 本篇博客.将和大家一起来分析Android中的四大 ...
- IOS炫酷的引导界面
代码地址如下:http://www.demodashi.com/demo/11246.html 一.准备工作 1.先用时ps工具制作好图片 2.然后计算好每张图片通过滑动视图的偏移量来改变图片的位置 ...
- 【前端】jQuery
一.jQuery是什么? 1.jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多JavaScript高手加入其team 2.jQuery是继prototype之后有一个优秀的 ...
- mysql中实现分类汇总功能
1.创建测试表: CREATE TABLE test_ROLLUP_1 ( StateCode ), DepCode ), SendMoney INT ); 2.插入测试语句: INSERT INTO ...