【网格图dp】力扣931. 下降路径最小和

news/2024/9/25 2:45:32/

给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。

下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置 (row, col) 的下一个元素应当是 (row + 1, col - 1)、(row + 1, col) 或者 (row + 1, col + 1) 。

示例 1:
在这里插入图片描述
输入:matrix = [[2,1,3],[6,5,4],[7,8,9]]
输出:13
解释:如图所示,为和最小的两条下降路径

示例 2:

在这里插入图片描述
输入:matrix = [[-19,57],[-40,-5]]
输出:-59
解释:如图所示,为和最小的下降路径

在这里插入图片描述

动态规划

class Solution {
public:int minFallingPathSum(vector<vector<int>>& matrix) {int m = matrix.size(), n = matrix[0].size();vector<vector<int>> group(m,vector(n, 0));for(int i = 0;i < n;i++){group[0][i] = matrix[0][i];}for(int i = 1;i < m;i++){for(int j = 0;j < n;j++){if(j == 0){group[i][j] = min(group[i-1][j], group[i-1][j+1]) + matrix[i][j];}else if(j == n - 1){group[i][j] = min(group[i-1][j], group[i-1][j-1]) + matrix[i][j];}else{group[i][j] = min(min(group[i-1][j-1],group[i-1][j+1]), group[i-1][j]) + matrix[i][j];}             }}return *min_element(group[m-1].begin(), group[m-1].end());}
};

时间复杂度:O(n^2 ),需要计算每个坐标的和最小下降路径。
空间复杂度:O(n^2 ),需要记录每个坐标的和最小下降路径。因为每个坐标的和最小下降路径仅与上一行有关,因此可以使用滚动数组,使得空间复杂度降低为 O(n)

比较简单的网格图dp,如果要对他进行动态规划来记录最小路径,那么就先初始化第一行的,令group = matrix。然后从第二行开始进行动态规划,第一列和最后一列情况特殊单独讨论,然后最后讨论第二行到倒数第二行的情况。最后返回最后一行中的最小group的值即可。


http://www.ppmy.cn/news/1510421.html

相关文章

鸿蒙开发Location Kit(位置服务)如何设置

鸿蒙Location Kit 是一个强大的位置服务工具包&#xff0c;允许开发者在应用程序中集成精确的定位功能。Location Kit 提供了多种定位模式&#xff0c;支持室内和室外定位&#xff0c;并结合了GPS、Wi-Fi、蓝牙和基站等多种定位技术。 核心功能 精确定位&#xff1a;支持高精…

AI+仿真,助力工业智能化变革:面向仿真工程师的机器学习工具

仿真AI &#xff1f; 企业的仿真工程师大部分时间都是在面对相似的模型。例如空调管路CFD&#xff0c;汽车保险杠CAE的仿真工作&#xff0c;通过DOE设计迭代&#xff0c;不断的优化尺寸参数&#xff0c;产品外形&#xff0c;从而使得管路流动阻力减小&#xff0c;风速均匀性提高…

昂科烧录器支持PAI-IC澎湃微电子的32位微控制器PT32L031K6T6

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中PAI-IC澎湃微电子的32位微控制器PT32L031K6T6已经被昂科的通用烧录平台AP8000所支持。 PT32L031K6T6是基于Cortex-M0内核的一款32位高性能微控制器&#xff0c;支持工作电压 1…

如何制作优秀的年终总结PPT?

制作优秀的年终总结PPT&#xff0c;是每位职场人士在年底时的一项重要任务。 一个优秀的年终总结PPT不仅能够清晰地展示你过去一年的工作成果&#xff0c;还能让领导对你的工作能力和态度留下深刻印象。 下面&#xff0c;我将从几个方面详细讲解如何制作这样的PPT&#xff0c…

AI作画提示词(Prompts)工程:技巧与最佳实践

文章目录 AI作画提示词(Prompts)工程&#xff1a;技巧与最佳实践一、提示词工程概述二、技巧与最佳实践1. 明确和具体的描述2. 使用上下文3. 指定艺术风格4. 使用关键词5. 适当的限制和优先级6. 实验和优化示例提示词 三、结论 AI作画提示词(Prompts)工程&#xff1a;技巧与最佳…

网络协议九 应用层 HTTPS

一 什么是 HTTPS 前面我们看到HTTP 有很多安全问题&#xff0c;因此引出了 对称加密 和 不对称加密。 那么这个对称加密和不对称加密&#xff0c;我们怎么和HTTP结合起来呢&#xff1f;HTTPS 就是弄好的 HTTP 和 加密结合的协议。 通过HTTP加密后的数据&#xff0c;整个传输过…

lnmp学习之路

编程小白如何成为大神&#xff1f;大学新生的最佳入门攻略 编程已成为当代大学生的必备技能&#xff0c;但面对众多编程语言和学习资源&#xff0c;新生们常常感到迷茫。如何选择适合自己的编程语言&#xff1f;如何制定有效的学习计划&#xff1f;如何避免常见的学习陷阱&…

【极客日常】对低代码开发模式的一些思考和想法

低代码这个名词说起来已经有些年头了&#xff0c;广义上来讲可以说是达到这么一种效果&#xff0c;即尽量减少通过编写代码的方式来完成研发任务&#xff0c;甚至部署交付整个技术产品。那么低代码模式到底值不值得弄&#xff0c;有什么优势和缺陷&#xff0c;本篇文章笔者就来…