You are given a m x n 2D grid initialized with these three possible values.
-1 - A wall or an obstacle.
0 - A gate.
INF - Infinity means an empty room. We use the value 231 - 1 = 2147483647 to represent INF as you may assume that the distance to a gate is less than 2147483647.
Fill each empty room with the distance to its nearest gate. If it is impossible to reach a gate, it should be filled with INF.
For example, given the 2D grid:1234INF -1 0 INFINF INF INF -1INF -1 INF -1 0 -1 INF INF
After running your function, the 2D grid should be:12343 -1 0 12 2 1 -11 -1 2 -10 -1 3 4
解法1: DFS
这题也是变换了一下思路。要找每一个room对应的最近的gate,那么反过来可以从每一个gate出发,更新每一个他可以够着的room的距离。用DFS就可以解决了。
|
|