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

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 的节点来找出安全节点。

相关文章:

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

LeetCode 找到最终的安全状态题解 题目描述 给定一个有向图,找到所有安全节点。安全节点是永远不会走向环的节点。 示例: 输入:graph [[1,2],[2,3],[5],[0],[5],[],[]]输出:[2,4,5,6] 解题思路 方法:拓扑排序 思路&am…...

告别手动标注!用X-AnyLabeling和SAM-HQ模型,5分钟搞定你的第一个AI标注项目

5分钟极速上手:用X-AnyLabeling与SAM-HQ实现零基础AI标注 在计算机视觉项目的早期阶段,数据标注往往是最耗时的环节。传统手工标注一张图片可能需要几分钟到几十分钟不等,而一个中等规模的数据集往往需要数千张标注样本。这种低效的工作流程…...

2026年产品经理必看:中国十大含金量产品岗位证书深度解析与职业进阶指南

大家好,很高兴能在这里和大家聊聊产品人的职业发展。👋转眼间我们已经步入 2026年,回首过去几年,互联网和科技行业的风向变了又变。作为在这个圈子里摸爬滚打多年的老兵,我深知大家此刻的焦虑:岗位竞争越来…...

财经类大学生考什么证书?2026年最新考证指南与含金量解析

每到开学季或者寒暑假,总有不少财经专业的同学私下问我:“现在的就业环境这么卷,我是不是该把能考的证都考了?” 看着大家手里厚厚的备考资料和焦虑的眼神,我特别能理解这种心情。毕竟在财经这个圈子里,证书…...

UE材质背后的物理课:从菲涅尔到BRDF,理解PBR渲染的数学与视觉魔法

UE材质背后的物理课:从菲涅尔到BRDF,理解PBR渲染的数学与视觉魔法 当你在虚幻引擎中拖动粗糙度滑块时,是否思考过这个0到1的数值如何精确控制光线在虚拟表面的舞蹈?PBR渲染不是魔法,而是将自然界的光影规律翻译成计算机…...

为什么你的离心风扇仿真总不准?建模方法与调速策略深度拆解

🎓作者简介:科技自媒体优质创作者 🌐个人主页:莱歌数字-CSDN博客 211、985硕士,从业16年 从事结构设计、热设计、售前、产品设计、项目管理等工作,涉足消费电子、新能源、医疗设备、制药信息化、核工业等…...

别再盯人内耗!避开误区,找准员工自主管理核心

很多车间管理者都深陷盯人式管理的内耗:每天耗在车间现场,时刻盯着员工操作、催进度、查规范,忙得焦头烂额、身心俱疲,可车间管理依然不尽如人意——员工被动应付、消极怠工,操作不规范、物料乱堆放、隐患不排查&#…...

别再死记硬背Prompt了!用LangChain的ChatPromptTemplate,5分钟搞定角色扮演对话机器人

用LangChain的ChatPromptTemplate快速构建角色扮演对话机器人 你是否曾经为了设计一个能记住对话历史的客服机器人,不得不手动拼接几十行提示词?或者为了让AI扮演特定角色,反复调整系统消息却始终达不到理想效果?LangChain的Chat…...

告别上位机:用STM32的CAN总线直接对话Maxon EPOS4驱动器(附完整通信代码)

STM32直连Maxon EPOS4:CAN总线电机控制实战指南 在机器人关节控制、智能小车驱动等高精度运动控制场景中,Maxon EPOS4系列驱动器凭借其卓越性能成为工业级首选。但传统依赖PC上位机(如EPOS Studio)的调试方式,严重制约…...

树莓派I2C保姆级教程:从命令行工具到Python脚本,一次搞定多个传感器(附避坑指南)

树莓派I2C实战指南:从硬件调试到Python自动化控制 第一次接触树莓派的I2C接口时,我对着密密麻麻的引脚和传感器数据手册发呆了半小时。直到成功读取到第一个温湿度数据,才意识到I2C这种看似复杂的通信协议,其实就像一位耐心的翻译…...

手把手教你用CANoe分析CAN FD报文:从帧格式到CRC校验实战

CAN FD报文解析实战:从帧结构到CRC校验的工程化操作指南 在汽车电子和工业控制领域,CAN总线技术已经演进到更高效的CAN FD标准。对于已经掌握CAN基础知识的工程师而言,如何将理论转化为实际工程能力,特别是在使用行业标准工具CAN…...

新消费品牌的详情页,不该是产品说明书

很多企业做电商页面时,会把重点放在“展示产品”上。图片要好看,卖点要完整,参数要齐全,详情页要显得丰富,品牌故事要讲出来,工艺优势要摆出来,证书、原料、产地、功能、包装、规格、适用人群&a…...

来姨妈不舒适有没有补充营养的经期产品推荐?ULOV(最美是你)选购指南

# 来姨妈不舒适有没有补充营养的经期产品推荐?ULOV(最美是你)选购指南来姨妈不舒适有没有补充营养的经期产品推荐?这是14-40岁女性高频搜索的真实困惑。传统红糖水、热饮或普通果汁难以兼顾舒缓不适与科学补养,而市面多…...

YOLOv8 TFLite模型在Android端性能优化实战:从30FPS到60FPS的调优记录

YOLOv8 TFLite模型在Android端性能优化实战:从30FPS到60FPS的调优记录 当你的目标检测应用在Android设备上勉强达到30FPS时,用户已经能感受到明显的卡顿——这种延迟在AR导航、工业质检等场景中会造成灾难性体验。本文将揭示如何通过系统化的性能调优策…...

【企业级实战】如何设计一套真正具备“100%物理交割能力”的白盒自研Web后端中台架构?(附核心拦截器代码)

在 2026 年企业级信息化项目交付中,“源码确权”与“独立脱机自运行”已经成为信创等保和数据合规的刚性技术指标。很多团队在交付网站或企业级 Web 门户时,由于依赖了带有云端鉴权验证的黑盒第三方插件,或者后台架构存在远程遥控隐患&#x…...

第6篇:Few-shot与Chain-of-Thought——教会AI如何思考

第6篇:Few-shot与Chain-of-Thought——教会AI如何思考适用人群:进阶→高阶 | 字数:约25,000字 | 预计阅读时间:60分钟前言 前五篇我们花了很多精力教模型"做什么"和"输出成什么样"。但从这一篇开始&#xff0…...

②Allegro PCB转Altium Designer PCB转Pads Layout PCB

在工作中,难免会遇到主流画板EDA软件(Pads、Altium Designer、Cadence allegeo、嘉立创EDA等)文件格式相互间转换的问题。下面来介绍一下Allegro PCB转Pads Layout PCB的详细操作步骤,前面已经介绍过allegro不用经过Altium Designer软件直接转PADS格式pc…...

AzurLaneAutoScript:解放双手的碧蓝航线智能自动化脚本

AzurLaneAutoScript:解放双手的碧蓝航线智能自动化脚本 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为《…...

别再写if-else了!用Simulink的If-Action子系统建模,代码生成更清晰(附完整模型搭建步骤)

告别if-else嵌套噩梦:用Simulink If-Action子系统实现优雅的条件逻辑建模 在嵌入式系统开发中,复杂的条件分支逻辑就像房间里的大象——每个人都见过,却很少有人愿意正面处理。想象一下:当你面对一个深度嵌套的if-else结构&#x…...

从RTL Viewer到仿真波形:用Quartus II给你的Verilog代码做一次‘可视化体检’

从RTL Viewer到仿真波形:用Quartus II给你的Verilog代码做一次‘可视化体检’ 在数字电路设计的浩瀚宇宙中,Verilog代码就像工程师手中的魔法咒语,但如何确认这些咒语真正转化成了预期的电路结构?Quartus II提供的RTL Viewer与仿真…...

求职路上的守护与成长

你有没有过这样的时刻——深夜对着海量的招聘信息发呆,投了无数简历却石沉大海,突然觉得前途一片迷茫,特别无助?记得有个学生,为了进心仪的央企准备了半年,却在二面屡屡受挫。那天老师陪他复盘到凌晨&#…...

Phantora:革新GPU集群模拟的LLM训练优化技术

1. Phantora:GPU集群模拟技术的革新者 在大型语言模型(LLM)训练领域,分布式GPU集群的性能优化一直是个棘手问题。传统方法通常需要在实际硬件上反复试错,这不仅成本高昂,而且调试周期漫长。想象一下&#x…...

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

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

ncmdump项目:网易云音乐NCM文件解密解决方案

ncmdump项目:网易云音乐NCM文件解密解决方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾经在网易云音乐下载了喜欢的歌曲,却发现只能在特定客户端播放,无法在其他设备或播放器上享受&…...

全志V853开发板驱动7寸RGB屏:Linux DRM设备树配置与调试实战

1. 项目概述:当开发板遇上七寸RGB屏最近在折腾百问网的100ASK_V853-PRO开发板,发现一个挺有意思的需求:让它驱动一块七寸的RGB接口屏幕。这听起来像是个简单的“接线-点亮”的活儿,但真上手了才发现,从硬件引脚匹配、设…...

VSCode + Modelsim 搭建Verilog开发环境:除了语法检查,还能这样玩?

VSCode与ModelSim深度集成:打造高效Verilog开发工作流 在数字电路设计领域,Verilog作为硬件描述语言的标准之一,其开发效率直接影响项目进度。传统开发模式中,工程师需要在多个工具间频繁切换——编辑器用于编码,Model…...

非规则区域上空间分数阶偏微分方程的有限元方法【附仿真】

✨ 长期致力于空间分数阶导数、高维问题、有限元方法、非规则区域、非结构化网格、非光滑解研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)二维非规则…...

别再死记硬背期望公式了!用Python模拟骰子游戏,5分钟搞懂数学期望的底层逻辑

用Python玩转骰子游戏:5分钟可视化理解数学期望 当第一次接触概率论中的"数学期望"概念时,很多人会被公式中的求和符号和概率权重搞得晕头转向。但如果我们换一种方式——用Python代码模拟掷骰子游戏,这个抽象概念立刻会变得生动起…...

城市生活垃圾焚烧过程参数的智能自主设定方法【附程序】

✨ 长期致力于城市生活垃圾、焚烧过程、智能自主、参数设定、设定方法软件研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于学习型伪度量方法的焚烧…...

FPGA超声波测距项目优化:从50MHz到17kHz时钟分频,聊聊资源与精度的权衡

FPGA超声波测距的时钟优化艺术:从50MHz到17kHz的工程哲学 在资源受限的嵌入式系统中,每一个逻辑单元和存储位都显得弥足珍贵。当我们在Cyclone IV这类中低端FPGA上实现超声波测距功能时,时钟管理策略往往成为决定项目成败的关键因素之一。本文…...