当前位置: 首页 > news >正文

【力扣-LeetCode】64. 最小路径和 C++题解

64. 最小路径和

难度中等1430收藏分享切换为英文接收动态反馈

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

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

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]

输出:7

解释:因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]

输出:12

提示:

  • m == grid.length

  • n == grid[i].length

  • 1 <= m, n <= 200

  • 0 <= grid[i][j] <= 100

解题思路:动态规划DP。

状态转移方程:dp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i][j]

AC代码:

class Solution {
public:int minPathSum(vector<vector<int>>& grid) {//每次只能向下或者向右移动一步int row=grid.size();int col=grid[0].size();int dp[row][col]; //走到坐标(i,j)所需最少花费//状态转移方程:dp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i][j]dp[0][0]=grid[0][0];for(int i=1;i<col;i++)dp[0][i]=dp[0][i-1]+grid[0][i];for(int i=1;i<row;i++)dp[i][0]=dp[i-1][0]+grid[i][0];for(int i=1;i<row;i++){for(int j=1;j<col;j++){dp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i][j];}}return dp[row-1][col-1];}
};
http://www.lryc.cn/news/12733.html

相关文章:

  • Mysql数据库事务
  • 【opencv源码解析0.3】调试opencv源码的两种方式
  • Xcode Archives打包上传 / 导出ipa 发布至TestFlight
  • RNN GRU模型 LSTM模型图解笔记
  • 西电_数字信号处理二_学习笔记
  • [ vulhub漏洞复现篇 ] Drupal 远程代码执行漏洞(CVE-2018-7602)
  • MySQL最佳实践
  • Python 之 Matplotlib 散点图、箱线图和词云图
  • SpringCloud(三)Hystrix断路器服务降级、服务熔断、服务监控案例详解
  • 【超好用】自定义的mybatis-plus代码生成器
  • Kubernetes学习笔记-计算资源管理(4)监控pod的资源使用量20230219
  • 游戏开发 - 开发流程 - 收集
  • LA@向量空间@坐标变换
  • JSP脚本指令及标记学习笔记
  • 【C语言每日一题】——猜凶手
  • 2019蓝桥杯真题完全二叉树的权值 C语言/C++
  • 大数据之Phoenix环境搭建
  • 62 一次 Promotion failed 的调试
  • Git的基本操作
  • LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
  • 测试1:测试相关概念
  • 2.19 索引和事务
  • 算法导论【摊还分析】—聚合分析、核算法、势能法
  • 【LeetCode】剑指 Offer 08. 二叉树的下一个节点 p65 -- Java Version
  • Python 之 Pandas Series 数据结构
  • 【java基础】Java常用类———包装类
  • linux shell 入门学习笔记3 shebang
  • 写作小课堂:简历模版【A4纸正反两面】(20230219)
  • 一文搞懂 DevOps
  • 深入讲解Kubernetes架构-租约