博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode1030
阅读量:6584 次
发布时间:2019-06-24

本文共 1154 字,大约阅读时间需要 3 分钟。

1 class Solution(object): 2     def __init__(self): 3         self.List = list() 4  5     def bfs(self,R,C,S,V): 6         T = list() 7         while len(S) >0: 8             node = S.pop(0) 9             if node[0]-1>=0 and V[node[0]-1][node[1]] == 0:10                 V[node[0]-1][node[1]] = 111                 T.append([node[0]-1,node[1]])12                 self.List.append([node[0]-1,node[1]])13             if node[0]+1
=0 and V[node[0]][node[1]-1] == 0:18 V[node[0]][node[1]-1] = 119 T.append([node[0],node[1]-1])20 self.List.append([node[0],node[1]-1])21 if node[1]+1
0:26 self.bfs(R,C,T,V)27 28 29 30 def allCellsDistOrder(self, R: int, C: int, r0: int, c0: int) -> 'List[List[int]]':31 stack = list()32 visited = [[0 for col in range(C)] for row in range(R)]33 stack.append([r0,c0])34 visited[r0][c0] = 135 self.List.append([r0,c0])36 self.bfs(R,C,stack,visited)37 return self.List

典型的BFS算法,每一“层”都比前一层的距离多1,因此按层遍历的顺序,即为所求。

转载于:https://www.cnblogs.com/asenyang/p/10744717.html

你可能感兴趣的文章
linux
查看>>
今夜杂谈
查看>>
第七章 虚拟化 虚拟机备份 Veeam backup &Replication
查看>>
微软云计算介绍与实践(介绍之五)
查看>>
在linux下搭建HA和LB集群(lvs&heartbeat群集)
查看>>
安装wine
查看>>
阻抗匹配与史密斯(Smith)圆图基本原理
查看>>
路由器与交换机的密码恢复
查看>>
Cisco路由器上的IPSec协议(站点到站点的×××)
查看>>
Java面向对象学习笔记 -- 5(抽象类、接口)
查看>>
关于apache下同IP多域名支持HTTPS和80跳转HTTPS的配置
查看>>
Linux Python详细安装、升级指南
查看>>
软件架构
查看>>
无法修复ie使用代理服务器
查看>>
【Apache Mina2.0开发之二】自定义实现Server/Client端的编解码工厂(自定义编码与×××)!...
查看>>
JS判断终端类型
查看>>
Exchange 2013 SP1 先决条件
查看>>
关于suid/guid
查看>>
教你给IDEA安装插件
查看>>
在windows上安装curl
查看>>