最小路径和—leetcode64
给定一个包含非负整数的 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相关推荐
- 58同城笔试题:数组去重;分饼干(分糖果);最小路径和(leetcode64)
1. 数组去重 题目描述 /*** 有序数组去重* 输出最终的数字个数* 输入:1,2,2* 输出:2* @author Turing**/ 代码 import java.util.*; public ...
- LeetCode--64. 最小路径和(动态规划)
最小路径和(动态规划) 1. 题目描述 2. 题目分析 3. C语言实现 1. 题目描述 难度:中等 2. 题目分析 这道题目是62题.不同路径的延伸,解题思路基本一样的,是通过动态规划来实现的: - ...
- 20200225:最小路径和(leetcode64)
最小路径和 题目 思路与算法 代码实现 时间复杂度分析 题目 思路与算法 这题和之前做过的不同路径Ⅰ,不同路径Ⅱ基本一致,状态方程式也基本一致,没有什么太多的思路,第一种方法就直接暴力枚举所有的节点到 ...
- LeetCode-64.最小路径和
题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 思路 设dp为大小为 m x n的 ...
- 【网络流24题】最小路径覆盖问题
[题目]1738: 最小路径覆盖问题 [题解]网络流 关于输出路径,因为即使有反向弧经过左侧点也一定会改变左侧点的去向,若没连向右侧就会被更新到0,所以不用在意. mark记录有入度的右侧点,然后从没 ...
- 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)
在讲述这两个算法之前,首先有几个概念需要明白: 二分图: 二分图又称二部图,是图论中的一种特殊模型.设G=(V,E)是一个无向图,如果顶点V可以分割为两个互不相交的子集(A,B),并且图中的每条边( ...
- 有向图最小路径覆盖方法浅析、证明 //hdu 3861
路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联. 对于一个有向无环图怎么求最小路径覆盖? 先构造二分图: 对于原图,先拆点,吧每个点i拆成ii,iii. ...
- HDU4160(最小路径覆盖问题)
题意:当满足条件wi<wj,hi<hl和li<lj时,求解通过优化嵌套给定的娃娃可以获得的最外层洋娃娃的最小数量. 思路:如果嵌套的娃娃越多,则剩下的娃娃就越少,意味着单独出来的娃娃 ...
- poj1422(最小路径覆盖问题)
最小路径覆盖数: 对于一个DAG(有向无环图),选取最少条路径,使得每个 顶点属于且仅属于一条路径.路径长度可以为零:(有向图中找一些路径,使之覆盖了图中的所有顶点,就是任意一个顶点都跟那些路径中的某 ...
最新文章
- gin HTTP/2 服务器推送
- ubuntu12.04安装libgl1-mesa-glx:i386问题解决办法
- python xpath爬虫_Python爬虫(2):XPath语法
- java通过maven构建项目实现日志生成模拟(三)通过logback 打印日志
- python编码注释和平台注释_python注释是什么意思
- Nhibernate 基础关系映射
- debian9 没有ipv4
- git 创建本地仓库、远程仓库,上传项目
- BZOJ2809-左偏树合并
- DEL: Open explorer from Console
- 有人公开了Avast、McAfee 等杀软中的 8 个 0day
- 曲面化原理创新设计_曲面丝印机会给我们带来什么样的美丽
- 学习 Shell —— 认识 shell
- 多页pdf怎样合并成一页?
- Oracle PeopleSoft 登录,peoplesoft不能登录DB解决方法
- 经营收款限制个人收款码,商户的个税会受影响吗?
- 性能测试——CPU占用率的计算原理
- 国内免费cdn汇总2023最新
- oracle中 in 的最大限制
- 不知道用什么软件可以测试电路,自制电器维修检测工具
热门文章
- 【SSH异常】InvalidDataAccessApiUsageException异常
- 360 补天平台,也没个什么人啊。。。
- ACM OJ反馈结果大全
- Ubuntu mysql连接错误10060/10061的方法
- Node.js项目目录介绍
- 技术贴:asp.net实现唯一账户在线 禁止同一帐号同时在线 asp.net实现您的帐号在别处登录,您已被迫下线!...
- 寫一個函數計算當參數為 n(n很大) 時的值 1-2+3-4+5-6+7……+n
- 老生常谈:装饰者模式
- java回收类_Java的内存回收——Java引用的种类
- 设计模式之SOLID原则再回首