news 2026/5/20 3:12:20

LeetCode 找到最终的安全状态题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 找到最终的安全状态题解

LeetCode 找到最终的安全状态题解

题目描述

给定一个有向图,找到所有安全节点。安全节点是永远不会走向环的节点。

示例

输入:graph = [[1,2],[2,3],[5],[0],[5],[],[]]
输出:[2,4,5,6]

解题思路

方法:拓扑排序

思路

  • 使用拓扑排序找出所有入度为 0 的节点。
  • 删除这些节点,并更新其邻居的入度。
  • 重复上述步骤,直到没有入度为 0 的节点。
  • 剩余的节点都是安全节点。

复杂度分析

  • 时间复杂度:O(V + E)。
  • 空间复杂度:O(V + E)。

代码实现

from collections import deque def eventual_safe_nodes(graph): n = len(graph) indegree = [0] * n reverse_graph = [[] for _ in range(n)] for i in range(n): for j in graph[i]: reverse_graph[j].append(i) indegree[j] += 1 queue = deque([i for i in range(n) if indegree[i] == 0]) safe = [False] * n while queue: node = queue.popleft() safe[node] = True for neighbor in reverse_graph[node]: indegree[neighbor] -= 1 if indegree[neighbor] == 0: queue.append(neighbor) return [i for i in range(n) if safe[i]] # 测试 def test_eventual_safe_nodes(): graph = [[1, 2], [2, 3], [5], [0], [5], [], []] print(eventual_safe_nodes(graph)) # 输出:[2, 4, 5, 6] if __name__ == "__main__": test_eventual_safe_nodes()

总结

找到最终的安全状态是拓扑排序的典型应用,通过删除入度为 0 的节点来找出安全节点。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 3:09:10

【 软考中级备考日记|系统集成项目管理工程师Day17:高频易混淆重难点辨析|考试全部挖坑陷阱\+直白对比(专治傻傻分不清)】

📌 博客专属标签: 软考中级 | 系统集成项目管理工程师 | 软考20天速成备考 | 零基础软考上岸 | 软考备考每日打卡 🔥 专栏专属合集: 软考中级系统集成20天从零到上岸全套备考笔记 ✨ 一、开篇前言:软考一半丢分&#x…

作者头像 李华
网站建设 2026/5/20 3:07:05

Video2X视频画质增强终极指南:让老旧视频焕发新生

Video2X视频画质增强终极指南:让老旧视频焕发新生 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x …

作者头像 李华
网站建设 2026/5/20 3:05:21

第8篇:Agent模式与工具调用——让AI从说话到做事

第8篇:Agent模式与工具调用——让AI从说话到做事 适用人群:高阶 | 字数:约25,000字 | 预计阅读时间:60分钟 前言 截止到上一篇,我们的"对话式 AI"的能力已经相当完整了: 它知道如何理解复杂的问…

作者头像 李华
网站建设 2026/5/20 3:04:13

拆开长江存储TiPlus 7100 SSD,聊聊Xtacking 3.0技术到底升级了啥?

长江存储TiPlus 7100 SSD拆解:Xtacking 3.0技术深度解析 当国产存储品牌长江存储推出TiPlus 7100 SSD时,硬件圈掀起了一阵热潮。这款标榜采用Xtacking 3.0技术的PCIe 4.0固态硬盘,不仅在性能参数上亮眼,更承载着国产存储技术突破的…

作者头像 李华
网站建设 2026/5/20 3:03:29

如何快速解密网易云NCM文件:ncmdumpGUI完整使用指南

如何快速解密网易云NCM文件:ncmdumpGUI完整使用指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经在网易云音乐下载了喜欢的歌曲&…

作者头像 李华