每日一题 2316. 统计无向图中无法互相到达点对数(中等,图连通分量)

在这里插入图片描述

  1. 题目很简单,只要求出每个连通分量有多少个节点即可
  2. 首先通过建立一个字典来表示每个节点的邻接关系
  3. 遍历每个节点,并通过邻接关系标记在当前连通分量内的所有的点,这样就可以知道一个连通分量内有多少个点
  4. 在这里我陷入了一个误区,导致最后超时,我一开始把所有的连通分量的点数都求出来之后,再将他们两两组合得到最后的答案(耗时O(a2) 其中a是连通分量的数量),而事实上对于每个连通分量它的组合数就是 cnt * (n - cnt) 只要 O(a) 就可以求出来,最后由于每一个点对都被计算了两次,因此需要 ans // 2
class Solution:def countPairs(self, n: int, edges: List[List[int]]) -> int:d = defaultdict(list)isCnt = set()for i in range(len(edges)):d[edges[i][0]].append(edges[i][1])d[edges[i][1]].append(edges[i][0])ans = 0for i in range(n):if i in isCnt:continuecnt = 1l = d[i]isCnt.add(i)while len(l) > 0:newl = []for j in l:if j in isCnt:continuenewl.extend(d[j])cnt += 1isCnt.add(j)l = newl.copy()ans += cnt * (n - cnt)return ans // 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/145381.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不知道怎么选CRM系统?看这篇就够了

CRM客户管理系统近年来已经从简单的客户管理软件发展成为了帮助企业运营发展的工具。它能够帮助企业优化业务流程、提高客户转化率、获得更多业绩。那么企业在选择CRM系统时有什么要点吗? 1、明确是否有自动化功能 自动化功能可以自动处理那些手动且琐碎的销售流程…

CorelDRAW和InDesign软件的功能区别

Corel和Ilustrator都是基于矢量的排版软件。另一方面,InDesign的主要目的是基于包含不同基本网格设计,以及标题和段落样式信息的母版页来制作多页面布局,例如杂志或书籍,这为了使出版物保持一致。 CorelDRAW图形套件是加拿大Core…

RHCE8 资料整理(三)

RHCE8 资料整理 第三篇 网络相关配置第11章 网络配置11.1 网络基础知识11.2 查看网络信息11.3 图形化界面修改11.4 通过配置文件修改11.5 命令行管理11.6 主机名的设置 第12章 ssh12.1 ssh基本用法12.2 打开远程图形化界面12.3 ssh无密码登录12.4 ssh安全设置12.5 ssh限制用户1…

PHP代码审计工具

PHP代码审计工具 1 环境准备 Seay源代码审计系统.exe 和准备靶场的源码php 2 Seay下载地址 https://github.com/f1tz/cnseay安装Seay源代码审计系统.exe报错时,安装.net framework 3.5 # windows插件.net framework 3.5 下砸地址 https://www.microsoft.com/en…

看微功耗遥测终端机如何轻松应对野外环境挑战?

在野外,数据的实时监测和传输是至关重要的。无论是环境温度、湿度,还是水位、流量,都需要精准把控。然而,传统的监测方法往往受限于电源供应问题,而无法充分发挥其功能。这时候,一款微功耗遥测终端机&#…

零售创新:社交媒体如何改变跨境电商游戏规则?

在当今数字化的时代,社交媒体已经成为了我们日常生活中不可或缺的一部分。Facebook、Instagram、Twitter、WeChat等平台不仅让我们与朋友家人保持联系,还成为了一个新的商业战场。特别是在跨境电商领域,社交媒体的崛起正在彻底改变游戏规则。…

探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty

文章目录 Spring框架Spring MVC框架Spring Boot框架MyBatis框架Netty框架总结 🎉欢迎来到Java面试技巧专栏~探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页&#xff…

在 Windows 中使用 System Settings

🚀 在 Windows 中使用 System Settings 设置代理:www.jshk.com.cn 端口:8000 🚀 🔥 首先,打开 Windows 的 “System Settings” 或 “Control Panel”。 打开 “Network and Internet” 或 “网络和 Inte…

MacOS Mojave(苹果14系统) v10.14.6中文离线安装包

MacOS Mojave是一款先进的操作系统,它拥有诸多出色的特性。其中,夜间模式可以根据时间或用户设置自动切换,改变了UI、壁纸和窗口的样式,使界面在夜晚使用时更为舒适。另外,新的堆栈和群组功能让用户能更方便地分类和整…

SpringBoot连接MySQL密码错误,报错:Access denied for user

记:一次连接MySQL报密码错误,Access denied for user 检查步骤: 核对用户和密码是否正确,用工具登陆试下。如果配置文件是yml格式,配置密码是123456这种纯数字,记得加上单/双引号。检查云上数据库配置&am…

系列十三、Redis的哨兵机制

一、概述 Sentinel(哨兵)是Redis的高可用解决方案,由一个或者多个Sentinel实例组成集群,可以监视任意多个主服务器,以及这些服务器下属的所有从服务器,并在被监视的主服务器下线或者宕机时,自动…