1615 最大網路秩

2021-10-19 09:50:00 字數 1870 閱讀 2301

題目描述:

n 座城市和一些連線這些城市的道路 roads 共同組成乙個基礎設施網路。每個 roads[i] = [ai, bi] 都表示在城市 ai 和 bi 之間有一條雙向道路。

兩座不同城市構成的 城市對 的 網路秩 定義為:與這兩座城市 直接 相連的道路總數。如果存在一條道路直接連線這兩座城市,則這條道路只計算 一次 。

整個基礎設施網路的 最大網路秩 是所有不同城市對中的 最大網路秩 。

給你整數 n 和陣列 roads,返回整個基礎設施網路的 最大網路秩 。

示例 1:

輸入:n = 4, roads = [[0,1],[0,3],[1,2],[1,3]]

輸出:4

解釋:城市 0 和 1 的網路秩是 4,因為共有 4 條道路與城市 0 或 1 相連。位於 0 和 1 之間的道路只計算一次。

示例 2:

輸入:n = 5, roads = [[0,1],[0,3],[1,2],[1,3],[2,3],[2,4]]

輸出:5

解釋:共有 5 條道路與城市 1 或 2 相連。

示例 3:

輸入:n = 8, roads = [[0,1],[1,2],[2,3],[2,4],[5,6],[5,7]]

輸出:5

解釋:2 和 5 的網路秩為 5,注意並非所有的城市都需要連線起來。

2 <= n <= 100

0 <= roads.length <= n * (n - 1) / 2

roads[i].length == 2

0 <= ai, bi <= n-1

ai != bi

每對城市之間 最多只有一條 道路相連

方法1:

(1)統計各個結點直接相連的結點的數量,然後使用數量進行降序排序;

(2)然後盡量使用連線結點更多結點進行統計;

(3)注意最多的連線結點之間是否相連的問題;

class

solution

unordered_set st;

for(vector<

int>

&road:roads)

sort

(counts.

begin()

,counts.

end(),

(pair<

int,

int>

&lhs,pair<

int,

int>

&rhs));

//最多結點不止乙個的情形

if(counts[0]

.first==counts[1]

.first)

for(

int i=

0;i++i)}}

return res;

}else

for(

int i=

1;i++i)

}return res;

}return0;}};

方法2:
class

solution

int res=0;

for(

int i=

0;i++i)

}return res;}}

;

1615 最大網路秩

1615.最大網路秩 n 座城市和一些連線這些城市的道路 roads 共同組成乙個基礎設施網路。每個 roads i ai,bi 都表示在城市 ai 和 bi 之間有一條雙向道路。兩座不同城市構成的 城市對 的 網路秩 定義為 與這兩座城市 直接 相連的道路總數。如果存在一條道路直接連線這兩座城市,...

LeetCode 1615 最大網路秩(出入度)

n 座城市和一些連線這些城市的道路 roads 共同組成乙個基礎設施網路。每個roads i ai,bi 都表示在城市 ai 和 bi 之間有一條雙向道路。兩座不同城市構成的城市對的網路秩定義為 與這兩座城市直接相連的道路總數。如果存在一條道路直接連線這兩座城市,則這條道路只計算 一次。整個基礎設施...

leetcode千題 5536 最大網路秩

n 座城市和一些連線這些城市的道路 roads 共同組成乙個基礎設施網路。每個 roads i ai,bi 都表示在城市 ai 和 bi 之間有一條雙向道路。兩座不同城市構成的 城市對 的 網路秩 定義為 與這兩座城市 直接 相連的道路總數。如果存在一條道路直接連線這兩座城市,則這條道路只計算 一次...