【leetcode】802. Find Eventual Safe States
2024-09-05 19:29:35
题目如下:
解题思路:本题大多数人采用DFS的方法,这里我用的是另一种方法。我的思路是建立一次初始值为空的safe数组,然后遍历graph,找到graph[i]中所有元素都在safe中的元素,把i加入safe。遍历完graph后继续重头遍历,直到某一次遍历后无新元素加入safe后停止。safe即为题目要求的答案。以上面例子距离,首先safe是空,第一次遍历graph后,safe=[5,6];第二次遍历后将2和4加入safe;第三次遍历后无新元素加入,safe最终结果为[5,6,2,4]
代码如下:
class Solution(object):
def eventualSafeNodes(self, graph):
"""
:type graph: List[List[int]]
:rtype: List[int]
"""
safe = []
flag = True
dic = {}
while flag:
flag = False
for i,v in enumerate(graph):
exist = True
for j in v:
if j not in dic:
exist = False
break
if exist == True and i not in dic:
safe.append(i)
dic[i] = 1
flag = True
safe.sort()
return safe
最新文章
- HDU 3015 Disharmony Trees(树状数组)
- iOS静态库及Framework 创建
- Python体验(08)-图形界面之工具栏和状态栏
- 修改APK包并push到system/app路径下安装
- js判断是否在微信浏览器中打开
- iPhone6的CSS3媒体查询
- jquery树形菜单完整代码
- ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。解决方法!
- VS2010中水晶报表应用及实例
- 美化 - DropDownList控件
- Python Selenium设计模式-POM
- python Flask
- Python3.4 + Django1.7.7 搭建简单的表单并提交
- Java笔试题库之选题题篇【141-210题】
- [20190418]exclusive latch spin count.txt
- Linux 系统根目录下各个文件夹的作用
- laravel----------如何优化laravel框架
- HoloLens开发手记 - 使用HoloLens模拟器 Using HoloLens emulator
- Python 数据结构--查找
- SQL Server 查询性能优化——创建索引原则(一)