题目链接:1036. 逃离大迷宫
题意:
在一个 106 x 106 的网格中,每个网格上方格的坐标为
(x, y)。现在从源方格
source = [sx, sy]开始出发,意图赶往目标方格target = [tx, ty]。数组blocked是封锁的方格列表,其中每个blocked[i] = [xi, yi]表示坐标为(xi, yi)的方格是禁止通行的。每次移动,都可以走到网格中在四个方向上相邻的方格,只要该方格 不 在给出的封锁列表
blocked上。同时,不允许走出网格。只有在可以通过一系列的移动从源方格
source到达目标方格target时才返回true。否则,返回false。
方法: 宽度搜索
不连通的情况下,说明障碍包围了source或者target。从source或者target开始枚举每一个方格,source或者target就会收到障碍包围的影响,枚举的方格数就是包围的面积,我们只需要确定包围的最大面积即可。最大面积就是障碍物围成一条线,以另外两边作为等腰三角形的两边。</

该博客探讨了LeetCode第1036题‘逃离大迷宫’,主要利用宽度优先搜索(BFS)算法进行求解。题目要求在106x106的网格中,避开封锁方格从起点到终点移动。如果能通过一系列移动到达目标,则返回真,否则返回假。文章指出,当无法到达目标时,可能是障碍物包围了起点或终点,通过BFS枚举方格可以计算出最大包围面积,此面积即为等腰三角形的一条边,两边为障碍物边界。
最低0.47元/天 解锁文章
483

被折叠的 条评论
为什么被折叠?



