当前位置: 首页 > news >正文

【leetcode】802. Find Eventual Safe States

题目如下:

解题思路:本题大多数人采用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
        

 

转载于:https://www.cnblogs.com/seyjs/p/9173327.html

相关文章:

  • 架构的代码结构
  • 做RAID1 遇到种种问题
  • jira安装
  • 对指定多个目录的第一级保留进行保留(再递归删除空目录)
  • C++之const类成员变量,const成员函数
  • 小程序开发之路(一)
  • js学习笔记之自调用函数和原型链
  • vivx面试题
  • centos7.2编译安装mysql5.7.21报错解决
  • 进程与线程区别
  • ASP.NET CORE系列【四】基于Claim登录授权
  • 【JSConf EU 2018】主题总结 (部分主题已有中文文章)
  • Java系列之EJB 理解
  • 百度echarts可以做什么
  • 第六章
  • 11111111
  • 2017 前端面试准备 - 收藏集 - 掘金
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • GraphQL学习过程应该是这样的
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • node 版本过低
  • vue-loader 源码解析系列之 selector
  • Vue组件定义
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 从零搭建Koa2 Server
  • 订阅Forge Viewer所有的事件
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 手机端车牌号码键盘的vue组件
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 延迟脚本的方式
  • 一道闭包题引发的思考
  • 源码安装memcached和php memcache扩展
  • 你对linux中grep命令知道多少?
  • MPAndroidChart 教程:Y轴 YAxis
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​卜东波研究员:高观点下的少儿计算思维
  • #Linux(权限管理)
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (2)(2.10) LTM telemetry
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (js)循环条件满足时终止循环
  • (TOJ2804)Even? Odd?
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (附源码)计算机毕业设计ssm电影分享网站
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (六)激光线扫描-三维重建
  • (图)IntelliTrace Tools 跟踪云端程序
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (转载)深入super,看Python如何解决钻石继承难题
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载