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

动态规划-931.下降路径最小和-力扣(LeetCode)

一、题目解析

从最顶上出发,有三个位置选择,左中下(边界除外),使其走到最下面时下降路径最小。

二、算法原理

1、状态表示

我们需要的是到达[i,j]的最小路径和,所以此时dp[i][j]表示:到达[i,j]位置时,最小的下降路径

2、状态转移方程

对于某个位置有三种下降方式,自然也就有三种到达该位置的方式

 

dp[i][j]  从[i-1,j-1]->[i,j]->dp[i-1][i-1]+matrix[i][j]

           从[i-1,j]->[i,j]->dp[i-1][j]+matrix[i][j]

           从[i-1][j+1]->[i,j]->dp[i-1][j+1]+matrix[i][j]

dp[i][j]=min(dp[i-1][j-1]+matrix[i][j],min(dp[i-1][j]+matrix[i][j],dp[i-1][j+1]+matrix[i][j]))

3、初始化

 

除了最上面一排初始化为0,其余位置要初始化为最大值,由于min的原因,如果都初始化为0,则会计算出错

4、填表顺序

从上往下,从左往右

5、返回值

由于到达最下面就停止了,所以取最后一排的最小值

自己动手实现一下吧,链接:931. 下降路径最小和 - 力扣(LeetCode) 

三、代码示例

class Solution {
public:int minFallingPathSum(vector<vector<int>>& matrix) {int n = matrix.size();vector<vector<int>> dp(n+1,vector<int>(n+2,INT_MAX));for(int j = 0;j<n+2;j++) dp[0][j] = 0;for(int i = 1;i<=n;i++){for(int j = 1;j<=n;j++){dp[i][j] = min(dp[i-1][j-1],min(dp[i-1][j],dp[i-1][j+1])) + matrix[i-1][j-1];}}int ret = INT_MAX;for(int j = 1;j<=n;j++) ret = min(ret,dp[n][j]);return ret;}
};

 

 

看到最后,如果对您有所帮助,还请点赞、收藏和关注,点点关注不迷路,我们下期再见! 

http://www.xdnf.cn/news/9648.html

相关文章:

  • 高光谱成像相机:基于高光谱成像技术的玉米种子纯度检测研究
  • 华为OD机试真题——阿里巴巴找黄金宝箱(II)(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 小程序 - 视图与逻辑
  • MySQL的基本架构
  • 社群分享:义乌|杭州电商|店群卖家,私域鱼塘运营的排单系统开源|私域鱼塘运营|返款软件开源
  • Typora-macOS 风格代码块
  • Kotlin Multiplatform与Flutter深度对比:跨平台开发方案的实战选择
  • ZYNQ sdk lwip配置UDP组播收发数据
  • ICECEPSS 2025:节能环保与社会治理的融合之道
  • Windows系统安装MySQL Connector 使用C++ VS2022连接MySQL
  • 吉林大学操作系统上级实验四(hash存储讲解及顺序存储文件管理实现)
  • 【LangChain】框架解析
  • LVS-DR高可用-Keepalived
  • GelSight Mini触觉传感器:7μm精度+3D 映射,赋能具身智能精密操作
  • 11.spark源码编译
  • 前端工程化 Source Map(源码映射)详解
  • 【C++】“多态”特性
  • Oracle OCP认证的技术定位怎么样?
  • Tailwind CSS 实战,基于 Kooboo 构建 AI 对话框页面(四):语音识别输入功能
  • Windows10下搭建sftp服务器(附:详细搭建过程、CMD连接测试、连接失败问题分析解决等)
  • K8S集群主机网络端口不通问题排查
  • ubuntu中,文本编辑器nano和vim区别,vim的用法
  • K8S StatefulSet 快速开始
  • 自动化立体仓库堆垛机SRM控制系统FC19手动控制功能块开发
  • TMS320F28388D使用sysconfig配置IPC
  • WPF【11_10】WPF实战-重构与美化(配置Material UI框架)
  • HOW - 简历和求职面试宝典(五)
  • ai如何绘制mg人物眉毛
  • C++中单例模式详解
  • elasticsearch