Skip to content

Commit 765beb9

Browse files
authored
Create 286-Walls-and-Gates.py
1 parent 940fe99 commit 765beb9

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

286-Walls-and-Gates.py

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
class Solution:
2+
"""
3+
@param rooms: m x n 2D grid
4+
@return: nothing
5+
"""
6+
def walls_and_gates(self, rooms: List[List[int]]):
7+
ROWS, COLS = len(rooms), len(rooms[0])
8+
visit = set()
9+
q = deque()
10+
11+
def addRooms(r, c):
12+
if (min(r, c) < 0 or r == ROWS or c == COLS or
13+
(r, c) in visit or rooms[r][c] == -1):
14+
return
15+
visit.add((r, c))
16+
q.append([r, c])
17+
18+
dist = 0
19+
while q:
20+
for i in range(len(q)):
21+
r, c = q.popleft()
22+
rooms[r][c] = dist
23+
addRooms(r + 1, c)
24+
addRooms(r - 1, c)
25+
addRooms(r, c + 1)
26+
addRooms(r, c - 1)
27+
dist += 1

0 commit comments

Comments
 (0)