思路:BFS

  1. 从起点开始,使用BFS遍历矩阵,找到最短的路径。

  2. 使用一个队列queue保存当前需要遍历的节点,将起点加入队列中。

  3. 使用visited数组记录节点是否已经被遍历过,初始时所有节点都未被遍历过。

  4. 当队列不为空时,取出队首节点进行遍历,将其未遍历的相邻节点加入队列中。如果相邻节点为终点,则返回路径长度。

  5. 如果遍历完所有节点都未找到终点,则返回-1。

代码实现:

Java 实现 给你一个 n x n 的二进制矩阵 grid 中返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径返回 -1 。 二进制矩阵中的 畅通路径 是一条从 左上角 单元格即0 0到 右下角 单元格即n - 1 n - 1的路径该路径同时满足下述要求: 路径途经的所有单元格的值都是 0 。 路径中所有相邻的单元格应当在 8 个方向之一 上连通即相邻两单元之间彼此不同且共享一条边或者一个

原文地址: https://www.cveoy.top/t/topic/gdGW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录