这个 BFS 和队列探索的距离是多少?

问题描述

对于下面的代码,它是针对以下问题的解决方案: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 (将#修改为@)