Leetcode—329. 矩阵中的最长递增路径【困难】

devtools/2024/9/24 12:36:30/

2024每日刷题(165)

Leetcode—329. 矩阵中的最长递增路径

在这里插入图片描述

dp_3">dfs + dp实现代码

class Solution {
public:int longestIncreasingPath(vector<vector<int>>& matrix) {// 9  9  4// 6  6  8// 2  1  1// 1  1  2// 2  2  1// 3  4  2int m = matrix.size();int n = matrix[0].size();vector<vector<int>> memo(m, vector<int>(n, 0));function<int(int, int, int)> dfs = [&](int i, int j, int pre) -> int {// out of boundaryif(i < 0 || i == m || j < 0 || j == n) {return 0;}const int cur = matrix[i][j];if(cur <= pre) {return 0;}int &ans = memo[i][j];if(ans > 0) {return ans;}ans = 1 + max({dfs(i, j + 1, cur), dfs(i, j - 1, cur), dfs(i + 1, j, cur), dfs(i - 1, j, cur)});return ans;};int ans = 0;for(int i = 0; i < m; i++) {for(int j = 0; j < n; j++) {ans = max(ans, dfs(i, j, -1));}}return ans;}
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!


http://www.ppmy.cn/devtools/116493.html

相关文章

抖音矩阵系统源码搭建批量剪辑矩阵分发,可开源或oem

矩阵营销系统通过多平台账号绑定、多任务创建、短视频智能剪辑、多任务多平台分发、私信评论自动回复等功能&#xff0c;企业可以更加轻松地管理并运维矩阵账号&#xff0c;实现更高效的短视频推广。 抖音账号矩阵的开发核心维度包括&#xff1a; 多账号管理开发维度&#xf…

对onlyoffice进行定制化开发

基于onlyoffice8.0源码&#xff0c;进行二次开发&#xff0c;可实现包括但不限于以下的功能 1、内容控件的插入 2、内容空间的批量替换 3、插入文本 4、插入图片 5、添加&#xff0c;去除水印 6、修改同时在线人数限制 7、内容域的删除 8、页面UI的定制化 9、新增插件开发 10、…

C#基础(15)选择排序

前言 上一节中我们已经学习了第一个算法&#xff1a;冒泡算法&#xff0c;相信你也有足够的自信继续学习更多的算法。 今天我们就来讲解又一个排序相关的算法&#xff1a;选择排序。 时间复杂度 在进行今天的排序算法讲解之前&#xff0c;我们先补充一个知识点&#xff1a…

vue + leaflet + 天地图实现搜索省份后高亮

实现省份高亮方法最重要的代码在于 L.geoJSON(district).addTo(map)这个方法&#xff0c;district为参数&#xff0c;可以在页面中引入当前省份的坐标json。 获取省份json文件的地址&#xff1a;https://datav.aliyun.com/portal/school/atlas/area_selector import beijing …

Android下MVP和MVVM模式的实践

转载注明出处&#xff1a;https://blog.csdn.net/skysukai 1、前言 MVP和MVVM诞生已经好些年头了&#xff0c;记得刚毕业才参加工作的时候&#xff0c;第一次见到了有上万行的Activity&#xff0c;这种巨无霸的Activity维护起来简直就是噩梦。这时候&#xff0c;就需要进行代…

中电金信多模态鉴伪技术抵御AI造假威胁

AI换脸技术&#xff0c;属于深度伪造最常见方式之一&#xff0c;是一种利用人工智能生成逼真的虚假人脸图片或视频的技术。基于深度学习算法&#xff0c;可以将一个人的面部特征映射到另一个人的面部&#xff0c;创造出看似真实的伪造内容。近年来&#xff0c;以AI换脸为代表的…

dbt snapshot命令及应用示例

DBT是一种功能强大的数据转换工具&#xff0c;它使数据分析师和工程师能够更有效地转换仓库中的数据。dbt的一个关键特性是能够创建快照&#xff0c;这是跟踪数据随时间变化的一种方法。本文带你一起完成创建和使用dbt快照的过程。 理解缓慢变化维度 缓慢变化维度(scd)是数据仓…

什么是孤儿进程和僵死进程?

一、前言 本文先介绍unix系统中进程的退出以及终止过程&#xff0c;然后介绍什么是孤儿进程以及僵死进程。包含如下内容&#xff1a; 1.进程终止过程 2.孤儿进程 3.僵死进程 二、进程终止的过程 2.1 进程的终止状态 进程终止分为正常终止和异常终止。 正常终止包括如下5种情…