列表

详情


286. 墙与门

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

  1. -1 表示墙或是障碍物
  2. 0 表示一扇门
  3. INF 无限表示一个空的房间。然后,我们用 231 - 1 = 2147483647 代表 INF。你可以认为通往门的距离总是小于 2147483647 的。

你要给每个空房间位上填上该房间到 最近门的距离 ,如果无法到达门,则填 INF 即可。

 

示例 1:

输入:rooms = [[2147483647,-1,0,2147483647],[2147483647,2147483647,2147483647,-1],[2147483647,-1,2147483647,-1],[0,-1,2147483647,2147483647]]
输出:[[3,-1,0,1],[2,2,1,-1],[1,-1,2,-1],[0,-1,3,4]]

示例 2:

输入:rooms = [[-1]]
输出:[[-1]]

示例 3:

输入:rooms = [[2147483647]]
输出:[[2147483647]]

示例 4:

输入:rooms = [[0]]
输出:[[0]]

 

提示:

相似题目

被围绕的区域

岛屿数量

离建筑物最近的距离

扫地机器人

腐烂的橘子

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: void wallsAndGates(vector<vector<int>>& rooms) { } };

上一题