4.21——542:01矩阵(BFS)

给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。
两个相邻元素间的距离为 1 。
 
 
1.解题思路
题目中说1到最近的0的距离,可以等价为0到1的距离。可以抽象为0到非0的一个图,以0为起点对这个图进行广度优先搜索
 
2.代码实现
class Solution: q = col lect ions. deque() # • for _ in range(len(matrix))] # [ [None] or l, In enumera e ma r Ix . if e for ei, while q: for PX, nx, if return res e in enumerate(l): q.append((li, e i)) # res[li][ei] = 0 left() # , py in 0), ny = x+ PX, y + py 0 c nx len(natrix) and O c ny and res[nx] [nyl = None: # .a end((nx, n ))
 
3.执行过程
RESTART: /hone/yy/* 面 /test. py q ( [ ( 2 (), 2 } : 父 点 , 子 点 ( 父 点 上 下 左 右 的 4 个 位 置 ) 执 行 +1 执 行 后 , 将 子 点 放 入 队 列 端 注 意 . 先 遍 历 所 有 父 结 点 , 后 遍 历 子 结 点 ( BFS 的 核 心 思 想 ) [ 0 , 1, 0 ] deque([(ß 山 ' 2 丛 1 ] 0 的 子 结 点 , 同 时 是 其 他 空 位 的 父 结 点 [' 2 气 1 , 0 ] [1 , 厶 1] [ 0 , 0 ]
 

猜你喜欢

转载自www.cnblogs.com/xiaoqichaoren/p/12951808.html