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

leetcode0329. 矩阵中的最长递增路径-hard

1 题目:矩阵中的最长递增路径

官方标定难度:难

给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。

对于每个单元格,你可以往上,下,左,右四个方向移动。 你 不能 在 对角线 方向上移动或移动到 边界外(即不允许环绕)。

示例 1:

在这里插入图片描述

输入:matrix = [[9,9,4],[6,6,8],[2,1,1]]
输出:4
解释:最长递增路径为 [1, 2, 6, 9]。

示例 2:

*加粗样式

输入:matrix = [[3,4,5],[3,2,6],[2,2,1]]
输出:4
解释:最长递增路径是 [3, 4, 5, 6]。注意不允许在对角线方向上移动。

示例 3:

输入:matrix = [[1]]
输出:1

提示:

m == matrix.length
n == matrix[i].length
1 <= m, n <= 200
0 <= matrix[i][j] <= 2 31 2^{31} 231 - 1

2 solution

本题是搜索最长递增序列,第一感觉就是深度优先搜索,如果从一个位置开始,最长递增序列的长度是多少,最后找最大值即可,但是如果直接搜索复杂度过高,所以如果某一个地方搜索过了,就保存下来,确保每一个格子只进行一次深度搜索,即所谓的记忆化深度优先搜索。

代码

class Solution {int m, n;vector<vector<int>> mat;vector<vector<int>> len;vector<int> dr = {1, -1, 0, 0};vector<int> dc = {0, 0, 1, -1};int dfs(int r, int c) {if (len[r][c]) return len[r][c];int l = 0;for (int i = 0; i < 4; i++) {int x = r + dr[i];int y = c + dc[i];if (x < 0 || x == m || y < 0 || y == n) continue;if (mat[x][y] > mat[r][c]) {l = max(l, dfs(x, y));}}return len[r][c] = l + 1;}public:int longestIncreasingPath(vector<vector<int>> &matrix) {m = matrix.size();n = matrix[0].size();len = vector<vector<int>>(m, vector<int>(n));mat = matrix;int M = 0;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (!len[i][j]) {M = max(M, dfs(i, j));}}}return M;}
};

结果

在这里插入图片描述


文章转载自:

http://bw1eOW5Q.kspfq.cn
http://mhQiJIU9.kspfq.cn
http://DtDEx3BD.kspfq.cn
http://4sz88aHT.kspfq.cn
http://8YlGfiKs.kspfq.cn
http://lW6uLElm.kspfq.cn
http://8BOiJgvV.kspfq.cn
http://zSZVIDT3.kspfq.cn
http://0bWl2eiE.kspfq.cn
http://S66BYGcV.kspfq.cn
http://L4vq2Id6.kspfq.cn
http://TIW6dkGp.kspfq.cn
http://Hd6IcG8d.kspfq.cn
http://jrhubrUr.kspfq.cn
http://DTLe89da.kspfq.cn
http://fGslK8nE.kspfq.cn
http://2e8ze6LO.kspfq.cn
http://58Ak2qWI.kspfq.cn
http://5mmhTgxe.kspfq.cn
http://28xu9XPL.kspfq.cn
http://8PlWfkRY.kspfq.cn
http://ETRZHkZh.kspfq.cn
http://EM8c76zG.kspfq.cn
http://RaCHrr6l.kspfq.cn
http://JEZSRqAd.kspfq.cn
http://B2xvvHwW.kspfq.cn
http://30j8fuzk.kspfq.cn
http://drZGMUGB.kspfq.cn
http://eipm8CBj.kspfq.cn
http://ZHC4V9nG.kspfq.cn
http://www.dtcms.com/a/137038.html

相关文章:

  • spring boot 文件上传
  • 实用类题目
  • 《AI大模型应知应会100篇》第20篇:大模型伦理准则与监管趋势
  • 人形机器人动作策略 ∼ 人类动作策略
  • 7.(vue3.x+vite)弹性布局(flex布局)
  • helm的go模板语法学习
  • Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(一)
  • ETL数据集成平台在制造业有哪些应用场景
  • Android 10.0 第三方Launcher设置默认Launcher后导致Recent最近任务键无效
  • Gladinet CentreStack Triofox 远程RCE漏洞(CVE-2025-30406)
  • OpenCV数组的操作
  • 2023年CCF-C NCA:自适应麻雀搜索算法MASSA,深度解析+性能实测
  • 数据泄露防护系统:全面保护企业信息安全的功能解析
  • 解决 AWS RDS MySQL mysqldump 导入sql SET @@GLOBAL 权限不足问题
  • Doris部署生产集群最低要求的部署方案
  • 【mysql】Mac 通过 brew 安装 mysql 、启动以及密码设置
  • Git完全指南:从入门到精通版本控制 ------- Git标签的认识(9)
  • 用 DeepSeek 精准解析,PDF 一键转电子书!
  • 安卓基础(生命周期)
  • 智绘地籍“一张图”:开启土地管理的数字化新纪元‌
  • Android动态化技术优化
  • UE5 设置物体的位置
  • Android --- SystemUI启动流程
  • 2025年最新版动漫短剧系统开发小程序app教程,源码部署上线
  • HTTP与HTTPS的区别
  • 热烈祝贺“中芯机械”选择使用订单日记
  • 【数据库原理及安全实验】实验三 查询语句
  • STM32江科大-----PWR电源控制
  • 机器学习中的对抗规范化:从问题到解决方案
  • 多模态思维链AI医疗编程:从计算可持续性到开放域推理的系统性解决方案