给定m x n整数矩阵,返回矩阵中最长增加路径的长度。
在每个单元格中,您可以向四个方向移动:左,右,向上或向下移动。您不得对角线移动或在边界外移动(即不允许扭器 - 环绕)
示例1:
示例2:
示例3:
笔记:
根据目的,给出了m x n整数矩阵的矩阵,并给出矩阵中最长增加路径的长度。每个单元的位置可以朝四个方向移动:左,右,向上或向下移动,但是它不得在对角线线外移动或移动到边界。
我开始使用动态计划来做我的想法,但是我发现编写条件并不容易,所以我不得不放弃。可能是我的方法有问题。这条路,所以我们只需要去DFS即可找到从网格开始的最长增加路径。在找到所有网格中最长的路径之后,我们知道最终答案。但是,这里有一件事要注意,必须将使用DF存储在内存中,因为重复了许多网格,这将导致暂停。
m是行的数量,n是列的数量,每个DFS堆栈的最大深度为O(mn)。由于最长的增加路径可能是Mn,因此宽度为O(4MN),因此每个DFS的时间复杂性为O(O(O(4MN)为O(O(4MN))为O(O(4MN)为O(O(4MN).MN),因为所有节点都已进入记忆,并且双周期没有含义,因此总时间复杂性为O(MN)。
空间复杂性主要用于递归和内存为O(MN)。
https://leetcode.com/prblems/longest-increasing-path-path-in-a-matrix/
您的支持是我最大的动力
原始:https://juejin.cn/post/7102977742097874957