leetcode 1319. 连通网络的操作次数(并查集)

用以太网线缆将 n 台计算机连接成一个网络,计算机的编号从 0 到 n-1。线缆用 connections 表示,其中 connections[i] = [a, b] 连接了计算机 a 和 b。

网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其他任意一台计算机。

给你这个计算机网络的初始布线 connections,你可以拔开任意两台直连计算机之间的线缆,并用它连接一对未直连的计算机。请你计算并返回使所有计算机都连通所需的最少操作次数。如果不可能,则返回 -1 。

示例 1:

输入:n = 4, connections = [[0,1],[0,2],[1,2]]
输出:1
解释:拔下计算机 1 和 2 之间的线缆,并将它插到计算机 1 和 3 上。

代码

class Solution {int[] fa;public void  init(){for(int i=0;i<fa.length;i++)fa[i]=i;}public int  find(int x){if(x!=fa[x])fa[x]=find(fa[x]);return fa[x];}public void   union(int x,int y){x=find(x);y=find(y);if(x==y) return;fa[x]=y;}public int makeConnected(int n, int[][] connections) {fa=new int[n];init();int mul=0;for(int[] c:connections)//记录下多余的边{if(find(c[0])==find(c[1])) mul++; union(c[0],c[1]);   }int pa=0;for(int i=0;i<n;i++)//统计连通分量的个数if(i==fa[i]) pa++;return pa-1>mul?-1:pa-1;//多余的边是否满足将连通分量连接在一起}
}

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

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

相关文章

MySQL中choose标签的用法

先给大家来个SQL语句&#xff1a; choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中 的 choose 很类似。 <select id"getMemberInfo" resultType"java.util.Map" parameterType"java.util.Map" > SELECT …

php hsetnx,HSETNX命令_视频讲解_用法示例-redis编程词典-php中文网

set英 [set] 美 [sɛt]vt.设置;放置&#xff0c;安置;使处于某种状况;摆放餐具vi.落山;出发;凝结n.集合;一套&#xff0c;一副;布景;电视机adj.固定的;位于…的;顽固的;安排好的第三人称单数&#xff1a; sets 复数&#xff1a; sets 现在分词&#xff1a; setting 过去式&am…

用导函数的图像判断原函数的单调性

前言 典例剖析 例1(给定\(f(x)\)的图像&#xff0c;确定\(f(x)\)的单调性&#xff0c;最简单层次) 题目暂略。 例2(用图像确定\(f(x)\)的正负&#xff0c;确定\(f(x)\)的单调性&#xff0c;2017聊城模拟) 已知函数\(yxf(x)\)的图像如图所示(其中\(f(x)\)是函数\(f(x)\)的导函数…

朴素贝叶斯 半朴素贝叶斯_使用朴素贝叶斯和N-Gram的Twitter情绪分析

朴素贝叶斯 半朴素贝叶斯In this article, we’ll show you how to classify a tweet into either positive or negative, using two famous machine learning algorithms: Naive Bayes and N-Gram.在本文中&#xff0c;我们将向您展示如何使用两种著名的机器学习算法&#xff…

python3:面向对象(多态和继承、方法重载及模块)

1、多态 同一个方法在不同的类中最终呈现出不同的效果&#xff0c;即为多态。 class Triangle:def __init__(self,width,height):self.width widthself.height heightdef getArea(self):areaself.width* self.height / 2return areaclass Square:def __init__(self,size):sel…

蠕变断裂 ansys_如何避免范围蠕变,以及其他软件设计课程的辛苦学习方法

蠕变断裂 ansysby Dror Berel由Dror Berel 如何避免范围蠕变&#xff0c;以及其他软件设计课程的辛苦学习方法 (How to avoid scope creep, and other software design lessons learned the hard way) 从数据科学的角度来看。 (From a data-science perspective.) You’ve got…

leetcode 674. 最长连续递增序列

给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每个 l < i < r&#xff0c;都有 nums[i] < nums[i 1] &a…

深入单例模式 java,深入单例模式四

Java代码 privatestaticClass getClass(String classname)throwsClassNotFoundException {ClassLoader classLoader Thread.currentThread().getContextClassLoader();if(classLoader null)classLoader Singleton.class.getClassLoader();return(classLoader.loadClass(class…

linux下配置SS5(SOCK5)代理服务

SOCK5代理服务器 官网: http://ss5.sourceforge.net/ yum -y install gcc gcc-c automake make pam-devel openldap-devel cyrus-sasl-devel 一、安装 # tar xvf ss5-3.8.9-5.tar.gz # cd ss5-3.8.9-5 # ./configure && make && make install 二、修改配置文…

刘备和诸葛亮闹翻:无意说出蜀国灭亡的根源?

导读&#xff1a;身为管理者&#xff0c;一件事情&#xff0c;自己做是满分&#xff0c;别人做是八十分&#xff0c;宁可让人去做八十分&#xff0c;自己也得跳出来看全局。紧抓大权不放&#xff0c;要么自己干到死&#xff0c;要么是败于战略&#xff01;&#xff01; 诸葛亮去…

mysql 时间推移_随着时间的推移可视化COVID-19新案例

mysql 时间推移This heat map shows the progression of the COVID-19 pandemic in the United States over time. The map is read from left to right, and color coded to show the relative numbers of new cases by state, adjusted for population.该热图显示了美国COVID…

leetcode 959. 由斜杠划分区域(并查集)

在由 1 x 1 方格组成的 N x N 网格 grid 中&#xff0c;每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。 &#xff08;请注意&#xff0c;反斜杠字符是转义的&#xff0c;因此 \ 用 “\” 表示。&#xff09;。 返回区域的数目。 示例 1&#x…

rcu宽限期_如何处理宽限期错误:静默失败不是一种选择

rcu宽限期by Rina Artstain通过丽娜阿斯特斯坦 I’ve never really had much of an opinion about error handling. This may come as a shock to people who know me as quite opinionated (in a good way!), but yeah. If I was coming into an existing code base I just d…

描述符、迭代器、生成器

描述符&#xff1a;将某种特殊类型的类的实例指派给另一个类的属性。 此处特殊类型的要求&#xff0c;至少实现”__set__(self , instance , owner)“、”__get__(self , instance , value)“、”__delete__(self , instance )“三个方法中的一个。 >>> class MyDecri…

php模拟表单提交登录,PHP模拟表单的post请求实现登录

stuid > $stuid,pwd > $pwd);$ch curl_init (); //初始化curlcurl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, CURLOPT_POST, 1 ); //使用post请求curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $…

去除list集合中重复项的几种方法

因为用到list&#xff0c;要去除重复数据&#xff0c;尝试了几种方法。记录于此。。。 测试数据&#xff1a; List<string> li1 new List<string> { "8", "8", "9", "9" ,"0","9"};List<string&g…

Crystal Reports第一张报表

新建一个网站项目&#xff0c;1. 设置数据库 从服务器资源管理器中&#xff0c;数据连接中添加新连接&#xff0c;用Microsoft Access数据库文件作为数据提供程序&#xff0c;连接上Crystal Reports的用例的数据库Xtreme2. 创建新Crystal Reports报表 在工程项目中添加一个…

leetcode 1128. 等价多米诺骨牌对的数量

给你一个由一些多米诺骨牌组成的列表 dominoes。 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌&#xff0c;我们就认为这两张牌是等价的。 形式上&#xff0c;dominoes[i] [a, b] 和 dominoes[j] [c, d] 等价的前提是 ac 且 bd&#xff0c;或是…

海量数据寻找最频繁的数据_寻找数据科学家的“原因”

海量数据寻找最频繁的数据Start with “Why” - Why do we do the work we do?从“为什么”开始-我们为什么要做我们所做的工作&#xff1f; The question of “Why” is always a big question. Plus, it always makes you look smart in a meeting!“ 为什么 ”的问题始终是…

C语言中局部变量和全局变量 变量的存储类别

C语言中局部变量和全局变量 变量的存储类别(static,extern,auto,register) 局部变量和全局变量在讨论函数的形参变量时曾经提到&#xff0c;形参变量只在被调用期间才分配内存单元&#xff0c;调用结束立即释放。这一点表明形参变量只有在函数内才是有效的&#xff0c;离开该函…