分析
简单求联通分量
用visit + dfs + cnt即可
ac code
class Solution:
def findCircleNum(self, isConnected: List[List[int]]) -> int:
# 联通分量的个数
n = len(isConnected)
visit = [False] * n
#print(n)
cnt = 0
def dfs(node):
nonlocal visit
#print(node, visit)
visit[node] = True
lst = isConnected[node]
#print(node)
for i in range(n):
#print(i, lst[i], visit[i])
if i != node and lst[i] == 1 and visit[i] is False:
#print(node)
dfs(i)
for i in range(n):
if visit[i] is False:
dfs(i)
cnt += 1
return cnt
总结
简单求联通分量