为什么很多人 DFS 写得飞起,一到「矩阵最长递增路径」就彻底懵了?

📅 2026/7/15 21:28:06 👁️ 阅读次数 📝 编程学习
为什么很多人 DFS 写得飞起,一到「矩阵最长递增路径」就彻底懵了?

为什么很多人 DFS 写得飞起,一到「矩阵最长递增路径」就彻底懵了?

有一类算法题,非常容易让人产生错觉。

看起来只是:

矩阵 + DFS

结果一写。

不是超时。
就是死循环。
再不然:

明明逻辑没错 结果性能直接爆炸

而「矩阵中的最长递增路径(Longest Increasing Path in a Matrix)」。

就是这种经典“面试看起来简单,真正做起来极其考验算法功底”的题。

很多人第一次做这题的时候,脑子里的思路一般是:

从每个点开始DFS 找到所有递增路径 取最大值

然后。

CPU开始冒烟。


一、这题为什么这么容易把人绕晕?

题目其实很简单:

给定一个矩阵。

你可以:

  • 上下左右移动
  • 只能走到“比当前值更大”的格子

求:

最长递增路径长度

比如:

[ [9,9,4], [6,6,8], [2