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

931、下降路径最小和

题目:

 

解答:

按照行遍历,dp即可。定义dp[i][j]为(i,j)位置的最小路径。

初始化:第一行直接塞入dp[0][j]。

遍历:最左边、最右边的可行路径为两种,中间n-2个数的可行路径为三种。一共三种情况,分开讨论即可。遍历到n-1行。

优化空间,dp[0][j]存储上一行,dp[1][j]存储当前行,本行计算完成后dp[0][j]=dp[1][j]

最后遍历最后一行,寻找最小值即可。ans=100*n是一个最大值,只要足够大即可。

class Solution {
public:int minFallingPathSum(vector<vector<int>>& matrix) {int n = matrix.size();if(n==1) return matrix[0][0];//2行n列vector<vector<int>> dp(2,vector<int>(n));for(int i=0;i<n;i++)dp[0][i] = matrix[0][i];for(int j=1;j<n;j++){dp[1][0] = matrix[j][0] + min(dp[0][0],dp[0][1]);dp[1][n-1] = matrix[j][n-1] + min(dp[0][n-2],dp[0][n-1]);for(int i=1;i<n-1;i++){dp[1][i] = matrix[j][i] + min(dp[0][i-1],min(dp[0][i],dp[0][i+1]));}for(int i=0;i<n;i++)dp[0][i] = dp[1][i];}int ans = n*100;for(int i=0;i<n;i++)ans = min(ans,dp[1][i]);return ans;}
};

时间复杂度O(n*n)

空间复杂度O(n)

相关文章:

  • 大模型LoRA微调实践
  • 2025-06-22 思考-人的意识与不断走向死亡的过程
  • frp v0.62.1内网穿透搭建和使用
  • Kafka 源码剖析:消息存储与协议实现(二)
  • 【redis使用场景——缓存——双写一致性】
  • ICML 2025 | 时空数据(Spatial-Temporal)论文总结
  • React中的useEffect详解
  • Ollama按照与使用
  • Cursor快速上手+科学使用指南
  • 【webSocket】WebSocket全双工通信实战指南
  • 跨域视角下强化学习重塑大模型推理:GURU框架与多领域推理新突破
  • 《福格行为模型》
  • JMeter API 并发性能测试计划JMX文件解析
  • wx小程序登录设置角色
  • AI产品经理的定义边界与价值重构
  • 《单光子成像》第八章 预习2025.6.22
  • C++,Qt事件处理机制编程开发练习全解析,23000字解析!!
  • 【工具教程】PDF指定区域OCR识别重命名工具使用教程和注意事项
  • 【数据结构试题】
  • 媒体AI关键技术研究
  • 上海公司企业网站怎么做/百度下载安装2019
  • wordpress网站建设/网络广告网站
  • 做印刷的网站有哪些/网络优化app
  • 怎么在网站上做反邪教知识/公司怎么做网络营销
  • 用苹果手机做网站/国内十大软件测试培训机构
  • 石狮新站seo/品牌策略