当前位置: 首页 > 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;}
};

结果

在这里插入图片描述

相关文章:

  • 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 一键转电子书!
  • 安卓基础(生命周期)
  • 智绘地籍“一张图”:开启土地管理的数字化新纪元‌
  • 网站费用标准/找百度
  • 漂亮的幼儿园网站模板/软文广告是什么意思
  • 临朐网站建设咨询/厦门网
  • 搜索引擎网站搭建/枫树seo
  • 做网站需要多长时间才能做好/北京网站托管
  • 百度网站名称和网址/一份完整的市场调查方案