图题目:最大网络秩

文章目录

  • 题目
    • 标题和出处
    • 难度
    • 题目描述
      • 要求
      • 示例
      • 数据范围
  • 解法
    • 思路和算法
    • 代码
    • 复杂度分析

题目

标题和出处

标题:最大网络秩

出处:1615. 最大网络秩

难度

4 级

题目描述

要求

n \texttt{n} n 座城市和一些连接这些城市的道路 roads \texttt{roads} roads 共同组成一个基础设施网络。每个 roads[i]   =   [a i ,   b i ] \texttt{roads[i] = [a}_\texttt{i}\texttt{, b}_\texttt{i}\texttt{]} roads[i] = [ai, bi] 表示在城市 a i \texttt{a}_\texttt{i} ai b i \texttt{b}_\texttt{i} bi 之间有一条双向道路。

两座不同城市构成的城市对的网络秩定义为:与这两座城市之一直接相连的道路总数。如果存在一条道路直接连接这两座城市,则这条道路只计算一次

整个基础设施网络的最大网络秩是所有不同城市对中的最大网络秩

给定整数 n \texttt{n} n 和数组 roads \texttt{roads} roads,返回整个基础设施网络的最大网络秩

示例

示例 1:

示例 1

输入: n   =   4,   roads   =   [[0,1],[0,3],[1,2],[1,3]] \texttt{n = 4, roads = [[0,1],[0,3],[1,2],[1,3]]} n = 4, roads = [[0,1],[0,3],[1,2],[1,3]]
输出: 4 \texttt{4} 4
解释:城市 0 \texttt{0} 0 1 \texttt{1} 1 的网络秩是 4 \texttt{4} 4,因为共有 4 \texttt{4} 4 条道路与城市 0 \texttt{0} 0 1 \texttt{1} 1 相连。位于 0 \texttt{0} 0 1 \texttt{1} 1 之间的道路只计算一次。

示例 2:

示例 2

输入: n   =   5,   roads   =   [[0,1],[0,3],[1,2],[1,3],[2,3],[2,4]] \texttt{n = 5, roads = [[0,1],[0,3],[1,2],[1,3],[2,3],[2,4]]} n = 5, roads = [[0,1],[0,3],[1,2],[1,3],[2,3],[2,4]]
输出: 5 \texttt{5} 5
解释:共有 5 \texttt{5} 5 条道路与城市 1 \texttt{1} 1 2 \texttt{2} 2 相连。

示例 3:

输入: n   =   8,   roads   =   [[0,1],[1,2],[2,3],[2,4],[5,6],[5,7]] \texttt{n = 8, roads = [[0,1],[1,2],[2,3],[2,4],[5,6],[5,7]]} n = 8, roads = [[0,1],[1,2],[2,3],[2,4],[5,6],[5,7]]
输出: 5 \texttt{5} 5
解释: 2 \texttt{2} 2 5 \texttt{5} 5 的网络秩是 5 \texttt{5} 5,注意并非所有的城市都需要相连。

数据范围

  • 2 ≤ n ≤ 100 \texttt{2} \le \texttt{n} \le \texttt{100} 2n100
  • 0 ≤ roads.length ≤ n × (n − 1) 2 \texttt{0} \le \texttt{roads.length} \le \dfrac{\texttt{n} \times \texttt{(n} - \texttt{1)}}{\texttt{2}} 0roads.length2n×(n1)
  • roads[i].length = 2 \texttt{roads[i].length} = \texttt{2} roads[i].length=2
  • 0 ≤ a i ,   b i ≤ n − 1 \texttt{0} \le \texttt{a}_\texttt{i}\texttt{, b}_\texttt{i} \le \texttt{n} - \texttt{1} 0ai, bin1
  • a i ≤ b i \texttt{a}_\texttt{i} \le \texttt{b}_\texttt{i} aibi
  • 每对城市之间最多只有一条道路相连

解法

思路和算法

将整个基础设施网络看成无向图,每一座城市是一个结点,每条道路是一条无向边。根据网络秩的定义,两座不同的城市 a a a b b b 构成的城市对的网络秩为与城市 a a a 或城市 b b b 直接相连的道路总数,即图中与结点 a a a 或结点 b b b 关联的边数。

在无向图中,一个结点的度为与该结点关联的边数,因此为了计算城市 a a a 和城市 b b b 构成的城市对的网络秩,需要知道结点 a a a 和结点 b b b 的度。当结点 a a a 和结点 b b b 不邻接时,计算结点 a a a 和结点 b b b 的度之和,即为网络秩;当结点 a a a 和结点 b b b 邻接时,存在一条边连接结点 a a a 和结点 b b b,计算结点 a a a 和结点 b b b 的度之和会将连接结点 a a a 和结点 b b b 的边重复计算,因此结点 a a a 和结点 b b b 的度之和减 1 1 1 为网络秩。

根据上述分析可知,计算两座城市构成的城市对的网络秩时,需要知道这两座城市对应的结点的度,以及这两个结点是否邻接。遍历全部道路,即可得到图中每个结点的度以及每一对结点是否邻接。使用数组记录每个结点的度,使用邻接矩阵记录每一对结点是否相邻。

在得到每个结点的度以及每一对结点是否邻接的信息之后,遍历每一对结点计算网络秩,遍历结束之后即可得到最大网络秩。

代码

class Solution {
    public int maximalNetworkRank(int n, int[][] roads) {
        int[] degrees = new int[n];
        boolean[][] connected = new boolean[n][n];
        for (int[] road : roads) {
            int city0 = road[0], city1 = road[1];
            degrees[city0]++;
            degrees[city1]++;
            connected[city0][city1] = true;
            connected[city1][city0] = true;
        }
        int maxRank = 0;
        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                int rank = degrees[i] + degrees[j] - (connected[i][j] ? 1 : 0);
                maxRank = Math.max(maxRank, rank);
            }
        }
        return maxRank;
    }
}

复杂度分析

  • 时间复杂度: O ( n 2 ) O(n^2) O(n2),其中 n n n 是城市数。需要遍历图中的每条边得到图中每个结点的度以及每一对结点是否邻接,然后遍历每一对结点计算网络秩,由于图中的边数最多为 O ( n 2 ) O(n^2) O(n2),图中的结点对的数量为 O ( n 2 ) O(n^2) O(n2),因此时间复杂度是 O ( n 2 ) O(n^2) O(n2)

  • 空间复杂度: O ( n 2 ) O(n^2) O(n2),其中 n n n 是城市数。需要 O ( n ) O(n) O(n) 的空间记录每个城市对应的结点的度,以及 O ( n 2 ) O(n^2) O(n2) 的空间记录邻接矩阵,因此空间复杂度是 O ( n 2 ) O(n^2) O(n2)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

测径仪视窗镜片的维护和保养步骤

关键字:测径仪镜片,测径仪保养,测径仪维护,视窗镜片维护,视窗镜片擦拭保养,视窗镜片的检查, 视窗镜片定期保养 视窗镜片是保护光学镜头免受污染和损伤的光学平镜片&#xff0c;它的污染和破损会直接影响光学系统的测量结果。 视窗镜片一般在受到轻微污染&#xff08;指镜片上…

机器学习之SMOTE重采样--解决样本标签不均匀问题

一、SMOTE原理 通常在处理分类问题中数据不平衡类别。使用SMOTE算法对其中的少数类别进行过采样&#xff0c;以使其与多数类别的样本数量相当或更接近。SMOTE的全称是Synthetic Minority Over-Sampling Technique 即“人工少数类过采样法”&#xff0c;非直接对少数类进行重采…

.[[MyFile@waifu.club]].svh勒索病毒数据库恢复方案

.[[MyFilewaifu.club]].svh勒索病毒有什么特点&#xff1f; .[[MyFilewaifu.club]].svh是一种最近多发的勒索病毒&#xff0c;它通过加密受害者的文件并要求支付赎金来解锁&#xff0c;从而达到勒索钱财的目的。恢复重要数据请添加技术服务号(safe130)。以下是关于这种病毒的详…

如何压缩word文档的大小?6个方法教你方便的压缩word文档

如何压缩word文档的大小&#xff1f;6个方法教你方便的压缩word文档 以下是六个常用的软件和方法&#xff0c;可以帮助您方便地压缩Word文档大小&#xff1a; 使用Microsoft Word内置功能&#xff1a; 在Microsoft Word中&#xff0c;您可以使用内置的压缩功能来减小文档的大…

导数和偏导数练习

导数题目列表 偏导数题目列表 这里是上述50个导数和偏导数练习题的答案&#xff1a; 导数答案列表 偏导数答案列表 更多问题咨询 Cos机器人

Linux CPU 飙升 排查五步法

排查思路-五步法 1. top命令定位应用进程pid 找到最耗时的CPU的进程pid top2. top-Hp[pid]定位应用进程对应的线程tid 找到最消耗CPU的线程ID // 执行 top -Hp [pid] 定位应用进程对应的线程 tid // 按shift p 组合键&#xff0c;按照CPU占用率排序 > top -Hp 111683.…

纯血鸿蒙APP实战开发——短视频切换实现案例

短视频切换实现案例 介绍 短视频切换在应用开发中是一种常见场景&#xff0c;上下滑动可以切换视频&#xff0c;十分方便。本模块基于Swiper组件和Video组件实现短视频切换功能。 效果图预览 使用说明 上下滑动可以切换视频。点击屏幕暂停视频&#xff0c;再次点击继续播放…

安卓跑马灯效果

跑马灯效果 当一行文本的内容太多&#xff0c;导致无法全部显示&#xff0c;也不想分行展示时&#xff0c;只能让文字从左向右滚动显示&#xff0c;类 似于跑马灯。电视在播报突发新闻时经常在屏幕下方轮播消息文字&#xff0c;比如“ 快讯&#xff1a;我国选手 *** 在刚刚结束…

我独自升级崛起游戏账号登录注册教程 (5.8最新版)

新韩漫公司所发布的这项动作游戏已向玩家们敞开大门&#xff0c;为大家带来了前所未有的游戏体验和乐趣。这个游戏内包含了大量令人着迷的故事、令人印象深刻的战斗场景以及丰富多样的娱乐元素。在这其中最为引人注目的一点就是游戏内容中融入了“虚拟角色”的元素&#xff0c;…

使用PyQt5设计系统登录界面—了解界面布局

前言&#xff1a;自学的过程中充分认识到网络搜索的重要性&#xff0c;有时候一篇通俗易懂的文章会让我这种入门级的小白更易上手&#xff0c;俗话说“开头难&#xff0c;难开头”&#xff0c;只要开了一个好头就不怕知难而退。 如何安装QT Designer界面设计所需要的环境 1. 如…

华为手机连接电脑后电脑无反应、检测不到设备的解决方法

本文介绍华为手机与任意品牌电脑连接时&#xff0c;出现连接后电脑无反应、检测不到手机连接情况的解决方法。 最近&#xff0c;因为手机的存储空间愈发紧缺&#xff0c;所以希望在非华为电脑中&#xff0c;将华为手机内的照片、视频等大文件备份、整理一下。因此&#xff0c;需…

2024年化学材料、清洁能源与生物技术国际学术会议(ICCMCEB2024)

2024年化学材料、清洁能源与生物技术国际学术会议(ICCMCEB2024) 会议简介 2024国际化学材料、清洁能源和生物技术大会&#xff08;ICCMCEB2024&#xff09;将在长沙隆重举行。本次会议旨在汇聚来自世界各地的化学材料、清洁能源和生物技术领域的专家学者&#xff0c;共同探…

vue管理系统导航中添加新的iconfont的图标

1.在官网上将需要的图标&#xff0c;加入项目中&#xff0c;下载 2.下载的压缩包中&#xff0c;可以选择这两个&#xff0c;复制到项目目录中 3.如果和之前的iconfont有重复&#xff0c;那么就重新命名 4.将这里的.ttf文件&#xff0c;也重命名为自己的 5.在main文件中导入 6.在…

3W 3KVDC 隔离单输出 DC/DC 电源模块——TPG-3W 系列

TPG-3W系列是一款额定功率为3W的隔离产品&#xff0c;国际标准引脚&#xff0c;宽范围工作、温度–40℃ 到 105℃&#xff0c;在此温度范围内都可以稳定输出3W&#xff0c;并且效率非常高&#xff0c;高达88%&#xff0c;同时负载调整率非常低&#xff0c;对于有输出电压精度有…

音频可视化:原生音频API为前端带来的全新可能!

音频API是一组提供给网页开发者的接口&#xff0c;允许他们直接在浏览器中处理音频内容。这些API使得在不依赖任何外部插件的情况下操作和控制音频成为可能。 Web Audio API 可以进行音频的播放、处理、合成以及分析等操作。借助于这些工具&#xff0c;开发者可以实现自定义的音…

MySQL使用GROUP BY使用技巧和注意事项总结

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《mysql经验总结》 目录 写在前面 GROUP BY简介 基本用法 单列分组 多列分组 使用聚合函数 过滤分组结果 按表达式分组 使用 GROUP BY 的排序 注意事项 遵循原则 使用能够唯一标识每个分组的字段或字…

PCB 阻抗设置

凡亿电路有详细的阻抗设计 https://baijiahao.baidu.com/s?id1773006310888936808&wfrspider&forpc 差分基本上是100ohm, 单端是50ohm 布线阻抗通常是&#xff0c; -设置叠层关系 层的定义设计原则&#xff1a; 1&#xff09;主芯片相临层为地平面&#xff0c;提供器…

Whisper、Voice Engine推出后,训练语音大模型的高质量数据去哪里找?

近期&#xff0c;OpenAI 在语音领域又带给我们惊喜&#xff0c;通过文本输入以及一段 15 秒的音频示例&#xff0c;可以生成既自然又与原声极为接近的语音。值得注意的是&#xff0c;即使是小模型&#xff0c;只需一个 15 秒的样本&#xff0c;也能创造出富有情感且逼真的声音。…

图像处理-图像平滑

图像平滑 前言一、概念介绍1.1 图像的平滑1.2 图像中噪声的分类1.3 MATLAB的添加噪音代码 二、空间域平滑滤波2.1 均值滤波2.2 原理计算 总结 前言 在图像的获取、传输和存储过程常常收到各种噪声的干扰和影响&#xff0c;使得图像的质量下降&#xff0c;为了获得高质量的数字…

CPU炼丹——YOLOv5s

1.Anaconda安装与配置 1.1安装与配置 Anaconda3的安装看下面的教程&#xff1a; 最新Anaconda3的安装配置及使用教程&#xff08;详细过程&#xff09;http://t.csdnimg.cn/yygXD&#xff0c;接上面文章下载后&#xff0c;配置环境变量的时候记得在原来你装的Python更下面添…