Leetcode 刷题笔记 图论part05

devtools/2025/3/25 21:01:10/

卡码网 107 寻找存在的路径

初识并查集

并查集功能:

  1. 寻找根节点,函数: find(int u),也就是判断这个节点的祖先节点是哪个
  2. 将两个节点接入到同一个集合,函数: join(int u, int v),将两个节点连在同一个根节点上
  3. 判断两个节点是否在同一个集合,函数: isSame(int u, int v),就是判断两个节点是不是同一个根节点

class UnionFind:def __init__(self, size):self.parent = list(range(size + 1))def find(self, u):if self.parent[u] != u:self.parent[u] = self.find(self.parent[u])return self.parent[u]def union(self, u, v):root_u = self.find(u)root_v = self.find(v)if root_u != root_v:self.parent[root_v] = root_udef is_same(self, u, v):return self.find(u) == self.find(v)def main():import sysinput = sys.stdin.readdata = input().split()index = 0n = int(data[index])index += 1m = int(data[index])index += 1uf = UnionFind(n)for _ in range(m):s = int(data[index])index += 1t = int(data[index])index += 1uf.union(s, t)source = int(data[index])index += 1destination = int(data[index])if uf.is_same(source, destination):print(1)else:print(0)if __name__ == '__main__':main()


http://www.ppmy.cn/devtools/171161.html

相关文章

HarmonyOS next性能优化:多维度策略与实战案例

HarmonyOS next性能优化:多维度策略与实战案例 在HarmonyOS next开发中,性能优化是提升用户体验、确保应用流畅运行的关键。本文将从多个角度探讨HarmonyOS next的性能优化策略,并通过示例代码展示优化前后的效果对比,帮助开发者…

在控制台中监控 Linux 性能的十种方法

对下面的文章内容进行了总结,也是自己 mark 一下,以后用到可以直接来这里查看 https://www.jeffgeerling.com/blog/2025/top-10-ways-monitor-linux-console 10 个 linux 系统重用来查看性能的工具(类 top) top:用于…

基于WebRTC与P2P技术,嵌入式视频通话EasyRTC实现智能硬件音视频交互,适配Linux、ARM、RTOS、LiteOS

EasyRTC不仅仅是一个连接工具,更是一个经过深度优化的通信桥梁。它在嵌入式设备上进行了特殊优化,通过轻量级SDK设计、内存和存储优化以及硬件加速支持,解决了传统WebRTC在嵌入式设备上的适配难题,显著节省了嵌入式设备的资源。 1…

23种设计模式-外观(Facade)设计模式

外观设计模式 🚩什么是外观设计模式?🚩外观设计模式的特点🚩外观设计模式的结构🚩外观设计模式的优缺点🚩外观设计模式的Java实现🚩代码总结🚩总结 🚩什么是外观设计模式…

Qt用MinGW编译的项目改为用MSVC2017去编译项目

首先用MinGW去编译项目和运行是可以的。但是转换MSVC去编译就会出现各种各样的问题。那么如何解决这些问题呢? 本文提供一种方法去解决,但是不能解决所有的MinGW项目,不知道为什么解决不了所有的MinGW项目? 在pro文件添加 msvc…

Spring框架漏洞攻略

框架特征:如果默认报错页面没有修复,那就是长这样 一、Spring Data Rest 远程命令执⾏命令(CVE-2017-8046) 1.访问页面/customers/1 ,然后抓取数据包,使⽤PATCH请求来修改 [{ "op": "replace" , "path&…

Claude:从安全优先的 AI 实验室到创作者协作者(2025 深度解析)

Claude:从安全优先的 AI 实验室到创作者协作者(2025 深度解析)​ ​ 一、技术演进:安全优先的 AI 进化论​ (一)基因重构:OpenAI 出走者的技术救赎​ Anthropic 的创始团队带着 GPT-3 的开发…

Unity 使用 Protobuf(Pb2)二进制数据全流程工具详解

前言 在Unity游戏开发中,高效、快速、安全地读取配置数据是一项重要需求。本文介绍一种完整的解决方案——使用Protobuf二进制格式(Pb2)存储和读取游戏数据,并详细分享实现全流程的Unity工具。 一、技术流程概览 实现Unity读取…