题意:

  给一个n*m的矩阵,每次可以往下或右走,经过的格子中的数字之和就是答案了,答案最小为多少?

思路:

  比较水,只是各种空间利用率而已。

  如果可以在原空间上作修改。

 class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
int n=grid.size()-;
int m=grid[n].size()-;
for(int j=; j<=m; j++)
grid[][j]+=grid[][j-];
for(int i=; i<=n; i++)
{
grid[i][]+=grid[i-][];
for(int j=; j<=m; j++)
grid[i][j]+=min(grid[i-][j], grid[i][j-]);
}
return grid[n][m];
}
};

AC代码

  

  至少也要用O(m)的空间吧。

 class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
vector<int> dp(grid[].begin(),grid[].end());
int n=grid.size()-, m=grid[n].size()-;
for(int j=; j<=m; j++)
dp[j]+=dp[j-];
for(int i=; i<=n; i++)
{
dp[]+=grid[i][];
for(int j=; j<=m; j++)
dp[j]=grid[i][j]+min(dp[j-], dp[j]);
}
return dp[m];
}
};

AC代码

LeetCode Minimum Path Sum (简单DP)的更多相关文章

  1. 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 ...

  2. 动态规划小结 - 二维动态规划 - 时间复杂度 O(n*n)的棋盘型,题 [LeetCode] Minimum Path Sum,Unique Paths II,Edit Distance

    引言 二维动态规划中最常见的是棋盘型二维动态规划. 即 func(i, j) 往往只和 func(i-1, j-1), func(i-1, j) 以及 func(i, j-1) 有关 这种情况下,时间 ...

  3. [LeetCode] Minimum Path Sum 最小路径和

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...

  4. [leetcode]Minimum Path Sum @ Python

    原题地址:https://oj.leetcode.com/problems/minimum-path-sum/ 题意: Given a m x n grid filled with non-negat ...

  5. Leetcode Minimum Path Sum

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...

  6. LeetCode:Minimum Path Sum(网格最大路径和)

    题目链接 Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right ...

  7. 64. Minimum Path Sum (Graph; DP)

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...

  8. Minimum Path Sum(DFS,DP)

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...

  9. [LeetCode] Unique Paths && Unique Paths II && Minimum Path Sum (动态规划之 Matrix DP )

    Unique Paths https://oj.leetcode.com/problems/unique-paths/ A robot is located at the top-left corne ...

随机推荐

  1. mustache模板技术

    一.简介Web 模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,通常是标准的 HTML 文档.当然不同的开发语言有不同模板引擎,如 Javascript 下的 Hog ...

  2. PMP 项目管理

    1.什么是项目管理   项目管理就是把各种知识,技能,工具,技术应用于项目活动,来满足项目的需求.这个是从技术方面来说的.其实在项目管理的技术 层面背后,还有理念层面的内容.学习项目管理,除了学习技术 ...

  3. PHP获取汉字的转化为拼音字母实现程序

    一个完整的php获取汉字拼音字母的实现程序,有需要的朋友可参考一下. <?php class GetPingYing { private $pylist = array( 'a'=>-20 ...

  4. 动手实践:在Windows上安装NumPy、Matplotlib、SciPy和IPython

    参考:http://book.2cto.com/201401/39327.html

  5. 判断子元素(or属性)是否存在

    if(typeof($("#aid").attr("rel"))=="undefined") 即可

  6. js的严谨模式

    一.怎么用 <script type="text/javascript"> "use strict";     //放在脚本文件第一行,整个脚本将以 ...

  7. HDU 1560 DNA sequence A* 难度:1

    http://acm.hdu.edu.cn/showproblem.php?pid=1560 仔细读题(!),则可发现这道题要求的是一个最短的字符串,该字符串的不连续子序列中包含题目所给的所有字符串 ...

  8. visual studio 2013连接Oracle 11g并获取数据:(一:环境搭建)

    C# WinForm案例: 目标: visual studio 中点击按钮,就可获取到Oracle中数据表的内容 1.安装Visual Studio 2013 ,推荐如下网址,下载ISO镜像,一路ne ...

  9. 打饭助手之NABC

    Need: 同学们在早上跑操后要吃早饭,还有中午打饭时人更是多.常常要排很长的队伍,造成时间的浪费,和焦急的等待.因此我们需要错开打饭的高峰期,来避免打饭排队的悲哀. Approach: 通过获取摄像 ...

  10. 《day16_多线程细节_Eclipse使用》

    多线程的一些细节: 1,面试题:sleep方法和wait方法异同点是什么? 相同点:可以让线程处于冻结状态. 不同点: 1, sleep必须指定时间. wait可以指定时间,也可以不指定时间. 2, ...