64. 最小路径和

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

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

示例:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-path-sum
——————————————————————————————————————————
1、动态规划
从最后一个点开始倒着计算每个点到最后一个点的路径总和。在原容器中直接更改最后的值。具体的C++代码如下:

class Solution {
public:int minPathSum(vector<vector<int>>& grid) {int hang = grid.size();int lie = grid[0].size();for(int i=hang-1,j=lie-1;i>=0 && j>=0;){if(i+1==hang && j+1==lie)  #判断是否是最后一行的最后一个{j--;continue;}else if(i+1==hang)   #判断是否是最后一行的数据{grid[i][j]=  grid[i][j] +  grid[i][j+1];if(j>0)j--;else{j=lie-1;i--;}continue;}else if(j+1==lie)    #判断是否是最后一列的数据{grid[i][j] =  grid[i][j] +  grid[i+1][j];j--;continue;}else  #判断既不是最后一行也不是最后一列的情况{grid[i][j] =  grid[i][j] + min( grid[i+1][j], grid[i][j+1]);if(j>0)j--;else{j=lie-1;i--;}}}return grid[0][0];}
};

leetcode - 64. 最小路径和相关推荐

  1. leetcode 64. 最小路径和(递归 / 动态规划解法图解)(Java版)

    题目 leetcode 64. 最小路径和 提示: m == grid.length n == grid[i].length 1 <= m, n <= 200 0 <= grid[i ...

  2. LeetCode 64最小路径和65有效数字66加一

    原创公众号:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 关注后回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode打卡 52八皇后Ⅱ&53最大子序和& ...

  3. LeetCode 64. 最小路径和(DP)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示 ...

  4. Leetcode 64. 最小路径和 -- DP算法

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

  5. leetcode 64. 最小路径和

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

  6. 93. Leetcode 64. 最小路径和 (动态规划-路径规划)

    步骤一.确定状态: 1.确定原问题中变化的变量个数 2.考虑最后一步 右下角坐标设为(m-1,n-1) 那么前一步一定是在(m-2,n-1)或者(m-1,n-2) 步骤二.推断状态方程: f[i][j ...

  7. Leetcode 64 最小路径和 (每日一题 20210721)

    给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小.说明:每次只能向下或者向右移动一步.示例 1:输入:grid = [[1,3,1], ...

  8. LeetCode 64 最小路径和

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

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

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

最新文章

  1. android横竖屏切换不刷新,关于Android中使用BottomNavigationView切换横屏导致返回主页的问题...
  2. css盒模型中子元素垂直方向上总高度与父元素height的关系
  3. iOS开发多线程篇—线程的状态
  4. 判断是否存在此对象_JVM的垃圾回收机制,判断对象是否死亡
  5. aix解锁oracle用户,aix用户被锁定的解决办法
  6. MySQL学习——操作存储过程
  7. Go 语言十年而立,Go2 蓄势待发
  8. 微软北京.NET俱乐部免费活动(2010年7月18日)–Visual Studio 2010 敏捷开发与云计算Azure...
  9. 容器List之ArrayList详解
  10. 初识 Proxysql
  11. 物流 计算机管理 好处,物流配送管理系统的好处与可行性分析
  12. 2022-2027年中国医疗行业市场深度分析及投资战略规划报告
  13. HTTPClient模拟登陆开心网001(from javaeye)
  14. threejs修改camera的lookAt无效怎么办
  15. 识别PDF关键词,在文件页数和坐标
  16. 天秀!GitHub 硬核项目:动漫生成器让照片秒变手绘日漫风!!!
  17. win10清理C盘好用的办法
  18. 《2020 数字中国指数报告》重磅发布,汤道生宣布将投入 100 亿用于开发中小企业专属 SaaS 产品及方案...
  19. #2021,我们的浮生一日#
  20. java 学习 汇总

热门文章

  1. 常数中有换行符的错误
  2. DataX离线数据同步工具/平台
  3. 使用Python批量压缩图片
  4. 运用PARALLEL方式成倍提升Oracle数据分析效率
  5. MacOSX系统下HomeBrew安装指定版本的软件 IntelliJ IDEA 设置多个Go语言版本开发
  6. JAVA Websocket 使用@PathParam无法获取参数
  7. NodeJS获取命令行后面的参数
  8. Draw.io--自认为最好用的流程图绘制软件
  9. CSS和JS两种颜色渐变文字效果代码
  10. C#LeetCode刷题-多线程