自己写的二维dp

class Solution {public:int minPathSum(vector<vector<int>>& grid) {if(grid.empty())return 0;int m = grid.size();int n = grid[0].size();vector<vector<int>> dp(m,vector<int>(n));dp[0][0] = grid[0][0];for(int j = 1;j < n;j++){dp[0][j] = grid[0][j] + dp[0][j-1];}for(int i = 1;i < m;i++){dp[i][0] = grid[i][0] + dp[i-1][0];}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];}
};

压缩了空间

class Solution {public:int minPathSum(vector<vector<int>>& grid) {if(grid.empty())return 0;int m = grid.size();int n = grid[0].size();vector<int> dp(n);for(int i = 0;i < m;i++){for(int j = 0;j < n;j++){if(i == 0 && j == 0){dp[0] = grid[0][0];//不加这个会溢出的}else if(i == 0 && j > 0){dp[j] = dp[j-1] + grid[i][j];}else if(j == 0 && i > 0){dp[j] = dp[j] + grid[i][j];}else{dp[j]  = min(dp[j],dp[j-1]) + grid[i][j];}}}return dp[n-1];}}

压缩空间的关键是,当前在第 i 行 j 列,其中第 j-1 列上面的数字是向右走到第 j 位上的,第 j 位是从上面走到 第 j 位上的。
想明白了就能够压缩。

2022-4-19 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. 最小路径和

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

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

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

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

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

  6. leetcode 64. 最小路径和

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

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

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

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

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

  9. LeetCode 64 最小路径和

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

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

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

最新文章

  1. 基于MEGA8的声音CLICK模块
  2. 网络爬虫---json编码和解码
  3. 从源码分析DEARGUI之add_drag_float和4
  4. java的接口怎么理解_如何理解Java 中的接口
  5. ajax 页面无刷新
  6. MotionVFX - mForm for Mac - 150种MG动态图形元素fcpx插件
  7. JVM设置最大最小内存参数
  8. 潜移默化学会WPF(样式)-- DataGrid(转载)
  9. 国内互联网企业奇妙招数
  10. 【推荐系统】推荐系统中的图网络模型
  11. linux 启动u盘引导,U盘启动引导安装linux
  12. 打印机测试图_国产彩色激光机一样很靠谱 奔图全新彩色激光机到底怎么样?...
  13. USB转四串口芯片CH9344
  14. 数据库实验三 存储过程与触发器
  15. 网站被黑该怎么处理和解决
  16. 在arcengine中实现图片预览
  17. Final阶段基于spec评论作品
  18. 百度、阿里、小米决战智能音箱
  19. java安装步骤(java安装步骤视频)
  20. 技术总监.部门经理.程序员

热门文章

  1. 树莓派 python 蜂鸣器_树莓派3b强行驱动无源蜂鸣器
  2. 关于windows优化大师设置导到系统乱码的解决
  3. 2019计算机软件技术的就业率是多少,2019计算机科学与技术专业就业方向与就业前景如何...
  4. mysqld 命令相关介绍
  5. bwt比对算法 C语言,BWT以及BWTS算法的一点总结及看法
  6. 明日方舟如何刷初始号,明日方舟如何刷初始号教程
  7. css注释_CSS注释
  8. 自学Arduino UNO串口(制造光控灯)
  9. 在Mac下编译ijkplayer os文件
  10. 数据结构之堆——C++实现大顶堆和小顶堆