Leetcode 3493. Properties Graph

news/2025/3/25 22:10:33/
  • Leetcode 3493. Properties Graph
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3493. Properties Graph

1. 解题思路

这一题的话是要考虑最终聚合的簇的个数,因此很明显就是一个并查集的典型题目。因此,我们只需要创建一个并查集,然后两两考察其各自的关联关系即可。

而关于并查集的相关内容,网上已经有很多了,我自己也有一篇拙作(经典算法:并查集DSU)结构简介)来作备忘。所以这里就不过多展开了,有兴趣的读者可以自行了解一下相关的内容。

2. 代码实现

给出python代码实现如下:

class DSU:def __init__(self, N):self.root = [i for i in range(N)]def find(self, k):if self.root[k] != k:self.root[k] = self.find(self.root[k])return self.root[k]def union(self, a, b):x = self.find(a)y = self.find(b)if x != y:self.root[y] = xreturnclass Solution:def numberOfComponents(self, properties: List[List[int]], k: int) -> int:elems = [set(x) for x in properties]n = len(properties)dsu = DSU(n)for i in range(n-1):for j in range(i+1, n):intersect = len(elems[i] & elems[j])if intersect >= k:dsu.union(i, j)clusters = [dsu.find(i) for i in range(n)]return len(set(clusters))

提交代码评测得到:耗时206ms,占用内存18.7MB。


http://www.ppmy.cn/news/1583060.html

相关文章

网络原理之传输层

前文我们了解 应用层 传输层 网络层 数据链路层 物理层 这五层结构,此文我先讨论传输层相关的知识 1. 传输层 负责数据能够从发送端传输到接收端. 1.1 端口号 端⼝号(Port)标识了⼀个主机上进行通信的不同的应用程序 端口号范围划分: 0-1023:知名端口号,HTTP,FTP,SSH等这些…

Docker --shm-size参数含义

文章目录 解释 解释 --shm-size 是一个用于 Docker 的参数,用来设置容器的共享内存大小。 在 Docker 中,/dev/shm 是一个临时文件系统(tmpfs),用于存储共享内存。默认情况下,Docker 容器的共享内存大小是…

使用命令行工具控制wireshark对抓包文件进行针对性处理的总结

近日,工作中有开发对抓包文件进行针对性过滤的小程序的需求,兜兜转转踩了很多坑后还是绕回了wireshark。 作为最出名的开源软件之一,wireshark也具有使用命令行进行操作的功能,这就是我们今天会总结到的“tshark.exe”。 通常&a…

掌握 Shopee 商品数据:用爬虫解锁无限商机

在电商的浩瀚宇宙中,Shopee 宛如一颗璀璨星辰,吸引着无数卖家与买家在此汇聚。对于电商从业者、市场调研人员或是数据分析师而言,获取 Shopee 店铺的商品信息就如同掌握了开启财富之门的钥匙。而爬虫技术,正是帮助我们高效获取这些…

军事级加密通信系统——基于QML的战术地图加密传输

目录 基于QML的战术地图加密传输一、引言二、理论背景与安全需求2.1 战术地图数据的敏感性与安全性要求2.2 QML与PyQt5集成优势2.3 加密算法与数据传输模型三、系统架构与数据流图四、QML前端界面设计与交互功能4.1 QML界面优势与设计理念4.2 功能要求4.3 QML文件示例五、加密传…

快速了解以太坊多种代币标准

前言 本文主要介绍以太坊ERC20、ERC721、RC1155三种代币标准相关介绍以及特点; ERC20代币标准 概念:同质化代币标准(等值) 核心方法: name(): 代币名称symbol(): 代币简写decimals(): 代币可以分割到的小…

Python+Requests+Pytest+YAML+Allure接口自动化框架

GitHub源码地址(详细注释):源码 调试项目python自主搭建:附项目源码 一、项目介绍 本项目是基于 PythonRequestsPytestYAMLAllure 搭建的 接口自动化测试框架,用于对 REST API 进行测试。 框架的主要特点包括&#…

Python与区块链隐私保护技术:如何在去中心化世界中保障数据安全

Python与区块链隐私保护技术:如何在去中心化世界中保障数据安全 在区块链世界里,透明性和不可篡改性是两大核心优势,但这也带来了一个悖论——如何在公开账本的同时保障用户隐私?如果你的交易记录对所有人可见,如何防止敏感信息泄露? Python 作为区块链开发中最受欢迎的…