问题描述
对于下面的代码,它是针对以下问题的解决方案:https://leetcode.com/problems/walls-and-gates/ 与 BFS 和队列相关
我的问题与以“for I,j in queue:”开头的行及其后的所有代码有关。我们在这里做什么?
我知道“for ii,jj in (i-1,j),(i,j-1),j+1),(i+1,j)”探讨了上面和下面的索引, 右边和左边。但我不明白我们为此做了什么——有什么帮助吗?
class Solution:
def wallsAndGates(self,rooms: List[List[int]]) -> None:
m,n = len(rooms),len(rooms[0]) # dimensions
dist = 0
queue = [(i,j) for i in range(m) for j in range(n) if rooms[i][j] == 0]
while queue:
dist += 1
newq = []
for i,j in queue:
for ii,j):
if 0 <= ii < m and 0 <= jj < n and rooms[ii][jj] == 2147483647:
rooms[ii][jj] = dist
newq.append((ii,jj))
queue = newq
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)