2022-4-19 Leetcode 64.最小路径和 ——【简单的动态规划】
自己写的二维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.最小路径和 ——【简单的动态规划】相关推荐
- leetcode 64. 最小路径和(递归 / 动态规划解法图解)(Java版)
题目 leetcode 64. 最小路径和 提示: m == grid.length n == grid[i].length 1 <= m, n <= 200 0 <= grid[i ...
- LeetCode 64最小路径和65有效数字66加一
原创公众号:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 关注后回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode打卡 52八皇后Ⅱ&53最大子序和& ...
- leetcode - 64. 最小路径和
64. 最小路径和 ------------------------------------------ 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总 ...
- LeetCode 64. 最小路径和(DP)
文章目录 1. 题目信息 2. 解题 1. 题目信息 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示 ...
- Leetcode 64. 最小路径和 -- DP算法
Time: 20190831 题目描述 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: ...
- leetcode 64. 最小路径和
难度:中等 频次:54 题目:给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 解题思路:动态 ...
- 93. Leetcode 64. 最小路径和 (动态规划-路径规划)
步骤一.确定状态: 1.确定原问题中变化的变量个数 2.考虑最后一步 右下角坐标设为(m-1,n-1) 那么前一步一定是在(m-2,n-1)或者(m-1,n-2) 步骤二.推断状态方程: f[i][j ...
- Leetcode 64 最小路径和 (每日一题 20210721)
给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小.说明:每次只能向下或者向右移动一步.示例 1:输入:grid = [[1,3,1], ...
- LeetCode 64 最小路径和
题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和 为最小.说明:每次只能向下或者向右移动一步. 题解 动态规划 代码 class ...
- LeetCode 64.最小路径和(动态规划)
题目描述 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: [ [1,3,1], [1,5 ...
最新文章
- 基于MEGA8的声音CLICK模块
- 网络爬虫---json编码和解码
- 从源码分析DEARGUI之add_drag_float和4
- java的接口怎么理解_如何理解Java 中的接口
- ajax 页面无刷新
- MotionVFX - mForm for Mac - 150种MG动态图形元素fcpx插件
- JVM设置最大最小内存参数
- 潜移默化学会WPF(样式)-- DataGrid(转载)
- 国内互联网企业奇妙招数
- 【推荐系统】推荐系统中的图网络模型
- linux 启动u盘引导,U盘启动引导安装linux
- 打印机测试图_国产彩色激光机一样很靠谱 奔图全新彩色激光机到底怎么样?...
- USB转四串口芯片CH9344
- 数据库实验三 存储过程与触发器
- 网站被黑该怎么处理和解决
- 在arcengine中实现图片预览
- Final阶段基于spec评论作品
- 百度、阿里、小米决战智能音箱
- java安装步骤(java安装步骤视频)
- 技术总监.部门经理.程序员
热门文章
- 树莓派 python 蜂鸣器_树莓派3b强行驱动无源蜂鸣器
- 关于windows优化大师设置导到系统乱码的解决
- 2019计算机软件技术的就业率是多少,2019计算机科学与技术专业就业方向与就业前景如何...
- mysqld 命令相关介绍
- bwt比对算法 C语言,BWT以及BWTS算法的一点总结及看法
- 明日方舟如何刷初始号,明日方舟如何刷初始号教程
- css注释_CSS注释
- 自学Arduino UNO串口(制造光控灯)
- 在Mac下编译ijkplayer os文件
- 数据结构之堆——C++实现大顶堆和小顶堆