Leetcode 286.墙与门

本文介绍了如何解决LeetCode上的中等难度问题286——墙与门。通过BFS宽度优先搜索算法,从门出发逐层扩散,更新每个空房间到最近门的距离。当遇到墙或已探索过的房间则跳过,最终得到每个房间到最近门的最短路径。此外,还提到了避免思维定式,理解算法背后的通用思想,并列举了几个类似难度的习题供进一步练习。
摘要由CSDN通过智能技术生成

Time: 20190902
Type: Medium
解法:BFS

题目描述

你被给定一个 m × n 的二维网格,网格中有以下三种可能的初始化值:

-1 表示墙或是障碍物
0 表示一扇门
INF 无限表示一个空的房间。然后,我们用 231 - 1 = 2147483647 代表 INF。你可以认为通往门的距离总是小于 2147483647 的。
你要给每个空房间位上填上该房间到 最近 门的距离,如果无法到达门,则填 INF 即可。

示例:

给定二维网格:

INF  -1  0  INF
INF INF INF  -1
INF  -1 INF  -1
  0  -1 INF INF

运行完你的函数后,该网格应该变成:

  3  -1   0   1
  2   2   1  -1
  1  -1   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值