发布时间:2026/7/12 11:07:58
LeetCode 2685.统计完全连通分量的数量:DFS求每个连通块的边点数 【LetMeFly】2685.统计完全连通分量的数量DFS求每个连通块的边点数力扣题目链接https://leetcode.cn/problems/count-the-number-of-complete-components/给你一个整数n。现有一个包含n个顶点的无向图顶点按从0到n - 1编号。给你一个二维整数数组edges其中edges[i] [ai, bi]表示顶点ai和bi之间存在一条无向边。返回图中完全连通分量的数量。如果在子图中任意两个顶点之间都存在路径并且子图中没有任何一个顶点与子图外部的顶点共享边则称其为连通分量。如果连通分量中每对节点之间都存在一条边则称其为完全连通分量。示例 1输入n 6, edges [[0,1],[0,2],[1,2],[3,4]]输出3解释如上图所示可以看到此图所有分量都是完全连通分量。示例 2输入n 6, edges [[0,1],[0,2],[1,2],[3,4],[3,5]]输出1解释包含节点 0、1 和 2 的分量是完全连通分量因为每对节点之间都存在一条边。 包含节点 3 、4 和 5 的分量不是完全连通分量因为节点 4 和 5 之间不存在边。 因此在图中完全连接分量的数量是 1 。提示1 n 500 edges.length n * (n - 1) / 2edges[i].length 20 ai, bi n - 1ai! bi不存在重复的边解题方法深度优先搜索DFS从0 00到n − 1 n-1n−1遍历每一个节点如果当前节点还没有被遍历过则说明又找到了一个新的联通块从这个节点开始DFS。DFS要遍历与这个节点相连的所有节点和所有边并求出共有多少个。如果边 点 × ( 点 − 1 ) 2 边\frac{点\times(点-1)}{2}边2点×(点−1)​则说明这个连通分量是完全连通分量。注意实际代码实现过程中每条边可能被其相连的两个节点共计遍历两次时间复杂度O ( l e n ( e d g e s ) n ) O(len(edges)n)O(len(edges)n)时间复杂度是边数点数;空间复杂度O ( l e n ( e d g e s ) n ) O(len(edges)n)O(len(edges)n)边的空间复杂度来自图的邻接表点点空间复杂度来自DFS最大深度。AC代码C/* * LastEditTime: 2026-07-11 08:40:46 */typedefpairint,intpii;classSolution{private:vectorboolvisited;vectorvectorintgraph;piidfs(intfrom){visited[from]true;intedge0,node1;for(intto:graph[from]){edge;if(!visited[to]){auto[next_edge,next_node]dfs(to);edgenext_edge;nodenext_node;}}return{edge,node};}public:intcountCompleteComponents(intn,vectorvectorintedges){graph.resize(n);for(vectorintedge:edges){graph[edge[0]].push_back(edge[1]);graph[edge[1]].push_back(edge[0]);}visited.resize(n);intans0;for(inti0;in;i){if(!visited[i]){auto[edge,node]dfs(i);ansedgenode*(node-1);// no need to /2}}returnans;}};同步发文于CSDN和我的个人博客原创不易转载经作者同意后请附上原文链接哦~千篇源码题解已开源

相关新闻

2026/7/12 11:02:57

Python地理空间机器学习在雨林保护中的三类落地实践

1. 项目概述:这不是一篇“技术科普”,而是一份来自实地协作现场的实操手记三年前,我在巴西帕拉州一个由当地原住民社区与生态监测NGO共建的遥感哨站里,第一次用Python跑通了基于Sentinel-2影像的森林退化早期识别模型。当时屏幕上…

2026/7/12 11:02:57

遗传算法工程实战:从参数调优到三层动态架构设计

1. 这不是教科书里的遗传算法,而是我调试了73次后才敢写的实操指南“遗传算法”这四个字,听上去像生物课上讲DNA双螺旋时顺带提的一句术语,又像AI面试题里那个永远答不全的“请手推GA流程”。但真实情况是:我在工业缺陷检测项目里…

2026/7/12 11:02:57

3个妙招解决ComfyUI-Manager界面按钮消失问题

3个妙招解决ComfyUI-Manager界面按钮消失问题 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI.…

2026/7/12 14:13:14

Danmaku测试与部署:从单元测试到生产环境的最佳实践指南

Danmaku测试与部署:从单元测试到生产环境的最佳实践指南 【免费下载链接】Danmaku A high-performance JavaScript danmaku engine. 高性能弹幕引擎库 项目地址: https://gitcode.com/gh_mirrors/danm/Danmaku Danmaku是一个高性能的JavaScript弹幕引擎库&am…

2026/7/12 14:13:14

Termux-MiUnlock常见问题解决:7个最常见错误及修复方法

Termux-MiUnlock常见问题解决:7个最常见错误及修复方法 【免费下载链接】termux-miunlock A program that can be used to retrieve the bootloader unlock token for Xiaomi devices. (and unlock the bootloader) using Termux 项目地址: https://gitcode.com/g…

2026/7/12 14:13:14

Open Source Candies监控与错误追踪:如何确保开源项目稳定性

Open Source Candies监控与错误追踪:如何确保开源项目稳定性 【免费下载链接】opensource-candies Free stuff for open source projects 项目地址: https://gitcode.com/gh_mirrors/op/opensource-candies 开源项目的稳定性是项目成功的关键因素之一。无论你…

2026/7/12 0:01:29

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/12 0:01:29

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/12 0:01:29

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/12 0:01:29

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/12 0:01:29

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/12 0:01:29

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/12 11:21:32

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…