当前位置: 首页 > 网络应用技术

leetcode 329.矩阵中最长的路径(python)

时间:2023-03-07 01:39:46 网络应用技术

  给定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

猜你喜欢