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

Leetcode 1091。二进制矩阵(Python)中的最短路径

时间:2023-03-07 02:19:08 网络应用技术

  给定n x n二进制矩阵网格,返回矩阵中最短透明路径的长度。如果没有明确的路径,请返回-1.0,0))到底部 - 右单元格(即(n -1,n -1)),以便:

  透明路径的长度是该路径的访问单元格的数量。

  示例1:

  示例2:

  示例3:

  笔记:

  根据该意图,将网格网格与矩阵中最短和未屏蔽的路径的长度给出。如果没有清晰的路径,则返回-1。

  二进制矩阵中的平滑路径是从左侧左上到右下角的单元的路径。平滑路径的长度是路径的访问单元的数量。

  乍一看,这个问题用于解决问题,因为这个问题要求我们从左上角移到右下角。此过程是在左上角周围找到8个相邻位置,然后在相邻位置找到8个相邻位置。位置等效于一个圆的高线和一个圆圈。这是一个典型的BFS过程。最常见的BFS解决方案是使用队列,然后在每个高线的每个圆圈上计算单元格的起点的长度,然后然后,然后thenthen找到围绕它们的8个方向的位置,然后将其存储在队列中,最后返回到右下角的第一个右侧的最低值距离。如果您无法到达右下角,请返回-1。

  时间复杂性为O(n * 8),空间复杂性为O(n)。n代表细胞的数量。

  https://leetcode.com/prblems/shortest-path-in-binary-matrix/

  您的支持是我最大的动力

  原始:https://juejin.cn/post/7098217409579843614