给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

示例:

输入:
[
  [1,3,1],
  [1,5,1],
  [4,2,1]
]
输出: 7
解释: 因为路径 1→3→1→1→1 的总和最小。

思路:这道题跟leetcode52类似,只不过子问题关系式变成了:

dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j]

这两道题的子问题还是很好找的,求走到(i,j)位置的最小,可以转换为求走到(i-1,j)和(i,j-1)的小值加上当前值grid[i][j],另外需注意初始值的初始化,不难,就不详细说了

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

最小路径和—leetcode64相关推荐

  1. 58同城笔试题:数组去重;分饼干(分糖果);最小路径和(leetcode64)

    1. 数组去重 题目描述 /*** 有序数组去重* 输出最终的数字个数* 输入:1,2,2* 输出:2* @author Turing**/ 代码 import java.util.*; public ...

  2. LeetCode--64. 最小路径和(动态规划)

    最小路径和(动态规划) 1. 题目描述 2. 题目分析 3. C语言实现 1. 题目描述 难度:中等 2. 题目分析 这道题目是62题.不同路径的延伸,解题思路基本一样的,是通过动态规划来实现的: - ...

  3. 20200225:最小路径和(leetcode64)

    最小路径和 题目 思路与算法 代码实现 时间复杂度分析 题目 思路与算法 这题和之前做过的不同路径Ⅰ,不同路径Ⅱ基本一致,状态方程式也基本一致,没有什么太多的思路,第一种方法就直接暴力枚举所有的节点到 ...

  4. LeetCode-64.最小路径和

    题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 思路 设dp为大小为 m x n的 ...

  5. 【网络流24题】最小路径覆盖问题

    [题目]1738: 最小路径覆盖问题 [题解]网络流 关于输出路径,因为即使有反向弧经过左侧点也一定会改变左侧点的去向,若没连向右侧就会被更新到0,所以不用在意. mark记录有入度的右侧点,然后从没 ...

  6. 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)

    在讲述这两个算法之前,首先有几个概念需要明白: 二分图:  二分图又称二部图,是图论中的一种特殊模型.设G=(V,E)是一个无向图,如果顶点V可以分割为两个互不相交的子集(A,B),并且图中的每条边( ...

  7. 有向图最小路径覆盖方法浅析、证明 //hdu 3861

    路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联. 对于一个有向无环图怎么求最小路径覆盖? 先构造二分图: 对于原图,先拆点,吧每个点i拆成ii,iii. ...

  8. HDU4160(最小路径覆盖问题)

    题意:当满足条件wi<wj,hi<hl和li<lj时,求解通过优化嵌套给定的娃娃可以获得的最外层洋娃娃的最小数量. 思路:如果嵌套的娃娃越多,则剩下的娃娃就越少,意味着单独出来的娃娃 ...

  9. poj1422(最小路径覆盖问题)

    最小路径覆盖数: 对于一个DAG(有向无环图),选取最少条路径,使得每个 顶点属于且仅属于一条路径.路径长度可以为零:(有向图中找一些路径,使之覆盖了图中的所有顶点,就是任意一个顶点都跟那些路径中的某 ...

最新文章

  1. gin HTTP/2 服务器推送
  2. ubuntu12.04安装libgl1-mesa-glx:i386问题解决办法
  3. python xpath爬虫_Python爬虫(2):XPath语法
  4. java通过maven构建项目实现日志生成模拟(三)通过logback 打印日志
  5. python编码注释和平台注释_python注释是什么意思
  6. Nhibernate 基础关系映射
  7. debian9 没有ipv4
  8. git 创建本地仓库、远程仓库,上传项目
  9. BZOJ2809-左偏树合并
  10. DEL: Open explorer from Console
  11. 有人公开了Avast、McAfee 等杀软中的 8 个 0day
  12. 曲面化原理创新设计_曲面丝印机会给我们带来什么样的美丽
  13. 学习 Shell —— 认识 shell
  14. 多页pdf怎样合并成一页?
  15. Oracle PeopleSoft 登录,peoplesoft不能登录DB解决方法
  16. 经营收款限制个人收款码,商户的个税会受影响吗?
  17. 性能测试——CPU占用率的计算原理
  18. 国内免费cdn汇总2023最新
  19. oracle中 in 的最大限制
  20. 不知道用什么软件可以测试电路,自制电器维修检测工具

热门文章

  1. 【SSH异常】InvalidDataAccessApiUsageException异常
  2. 360 补天平台,也没个什么人啊。。。
  3. ACM OJ反馈结果大全
  4. Ubuntu mysql连接错误10060/10061的方法
  5. Node.js项目目录介绍
  6. 技术贴:asp.net实现唯一账户在线 禁止同一帐号同时在线 asp.net实现您的帐号在别处登录,您已被迫下线!...
  7. 寫一個函數計算當參數為 n(n很大) 時的值 1-2+3-4+5-6+7……+n
  8. 老生常谈:装饰者模式
  9. java回收类_Java的内存回收——Java引用的种类
  10. 设计模式之SOLID原则再回首