当前位置: 首页 > news >正文

吉林省工程建设标准网站内江市建设培训中心网站

吉林省工程建设标准网站,内江市建设培训中心网站,企业培训课程清单,广州网站建设新科分公司目录 1319. 连通网络的操作次数 题目描述: 实现代码与解析: 并查集 原理思路: 1319. 连通网络的操作次数 题目描述: 用以太网线缆将 n 台计算机连接成一个网络,计算机的编号从 0 到 n-1。线缆用 connections 表示…

目录

1319. 连通网络的操作次数

题目描述:

实现代码与解析:

并查集

原理思路:


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 上。

示例 2:

输入:n = 6, connections = [[0,1],[0,2],[0,3],[1,2],[1,3]]
输出:2

示例 3:

输入:n = 6, connections = [[0,1],[0,2],[0,3],[1,2]]
输出:-1
解释:线缆数量不足。

示例 4:

输入:n = 5, connections = [[0,1],[0,2],[3,4],[2,3]]
输出:0

提示:

  • 1 <= n <= 10^5
  • 1 <= connections.length <= min(n*(n-1)/2, 10^5)
  • connections[i].length == 2
  • 0 <= connections[i][0], connections[i][1] < n
  • connections[i][0] != connections[i][1]
  • 没有重复的连接。
  • 两台计算机不会通过多条线缆连接。

实现代码与解析:

并查集

class Solution {int[] p = new int[(int)1e5 + 10];public int find(int x) {if (p[x] != x) p[x] = find(p[x]);return p[x];}public int makeConnected(int n, int[][] connections) {for (int i = 0; i < p.length; i++) {p[i] = i;}int count = 0; // 可多出来的线for (int[] t: connections) {int a = t[0];int b = t[1];if (find(a) == find(b)) {count++;continue;}p[find(a)] = find(b);}int res = 0; // 减一表示连接需要的线,不减一就是需要连接的块数for (int i = 0; i < n; i++) {if (p[i] == i) res++;}System.out.println(count);System.out.println(res);return res - 1 > count ? -1 : res - 1;}
}

原理思路:

        并查集算法,不过需要稍微思考一下。

        我们在合并连接时,先判断是否已经连接,若已经连接,说明此线是多出来的线。最后找出不想连的连通块的个数n,如果想要把他们全部连接,就需要n - 1条线,若多余的线大于等于n - 1,那么就可以完成全部联通,返回n - 1,若小于那么无论如何也无法联通,返回-1。

http://www.yayakq.cn/news/60715/

相关文章:

  • 有趣的网站名国外做兼职网站
  • 建个私人网站怎么做一台虚拟主机能建设几个网站
  • 南京网站设计建设公司电话重庆的网络公司
  • 做兼职网上哪个网站wordpress $数组
  • 淘宝直接怎么做网站网站开发与移动互联
  • 怀宁县住房和建设局网站西青做网站的公司
  • 沈阳设计培训网站建设中国互联网协会成立于哪一年
  • 如何做网站诊断网站模块功能
  • 保护环境网站模板wordpress商城积分插件
  • 站长工具seo下载南靖企业网站建设公司
  • 青海做网站哪家好搭建网站是要什么
  • 公司网站设计网络公司遵义做网站推广
  • 全响应网站开发定制软件公司
  • 千博企业网站管理系统营销旗舰版wordpress 音乐 主题
  • s001网站建设设计html网站地图生成工具
  • 郑州门户网站制作沈阳做企业网站
  • 外贸公司网站阿里logo设计网站
  • 有没有人通过网站建设卖东西的无锡网站制作价格多少
  • 代理加盟网站建设公司网站建设gong
  • 网站建设技术发展趋势预测如何推广一个产品
  • 辽阳建设网站找哪家唐山网站建设开发
  • 网站引导动画怎么做福贸外贸论坛
  • php网站开发说明阿里云注册网站之后怎么做网站
  • 郑州企业网站优化服务哪家好ih5平台发展前景
  • 南京软件网站建设公司怎么用域名做邮箱网站
  • 水果网站建设单页面网站开发
  • 山东省住房和城乡建设厅服务网站如何做淘客网站源码
  • 桂林网站seo诚聘php网站开发师
  • 网站开发有哪些服务器wordpress 优化变快
  • 网站建设宣传方案网站关键词优化多少钱