难度:Medium
- 直接运用 Python 中内置组合数据类型集合(set)
- 不知是不是因此导致用时较多
class Solution:
def maximalNetworkRank(self, n: int, roads: List[List[int]]) -> int:
outedges = []
for i in range(n):
outedges.append(set())
for i in range(len(roads)):
outedges[roads[i][0]].add(i)
outedges[roads[i][1]].add(i)
ans = 0
for u in range(n):
for v in range(u+1, n):
ans = max(len(outedges[u]) + len(outedges[v]) - len(outedges[u]&outedges[v]) , ans)
return ans