三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

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

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

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

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

看起来只是:

矩阵 + DFS

结果一写。

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

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

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

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

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

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

然后。

CPU开始冒烟。


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

题目其实很简单:

给定一个矩阵。

你可以:

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

求:

最长递增路径长度

比如:

[ [9,9,4], [6,6,8], [2
← 返回列表