Re: [闲聊] 每日LeetCode

楼主: Rushia (みけねこ的鼻屎)   2023-08-19 02:07:47
https://leetcode.com/problems/maximal-network-rank/description/
1615. Maximal Network Rank
给你一个 n 表示城市的数量,一个阵列 roads[][] ,roads[i][j] 表示
城市 i 存在直达城市 j 的双向道路,Network Rank 被定义为任意两城市
的所有直连道路总和(若两城市间存在道路则只算一个),求出最大
Network Rank。
Example 1:
https://assets.leetcode.com/uploads/2020/09/21/ex1.png
Input: n = 4, roads = [[0,1],[0,3],[1,2],[1,3]]
Output: 4
Explanation: The network rank of cities 0 and 1 is 4 as there are 4 roads
that are connected to either 0 or 1. The road between 0 and 1 is only counted
once.
Example 2:
https://assets.leetcode.com/uploads/2020/09/21/ex2.png
Input: n = 5, roads = [[0,1],[0,3],[1,2],[1,3],[2,3],[2,4]]
Output: 5
Explanation: There are 5 roads that are connected to cities 1 or 2.
Example 3:
Input: n = 8, roads = [[0,1],[1,2],[2,3],[2,4],[5,6],[5,7]]
Output: 5
Explanation: The network rank of 2 and 5 is 5. Notice that all the cities do
not have to be connected.
思路:
1.按照题意,一个 Network Rank 是两个城市的道路总和,我们把城市看成点道路看成
线,就是要我们求任意两个点的最大 degree 和。
2.我们用一个阵列记住每个点向外的道路有几个,一个Set纪录任意两点是否连通。
3.最后把每个城市两两配对,将道路数量相加(若两城市相连减一),并取最大的 rank
即可。
Java Code:
作者: JerryChungYC (JerryChung)   2023-08-19 02:35:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com