Number of Provinces LeetCode solution in Python
1class Solution:2def findCircleNum(self, isConnected: List[List[int]]) -> int:3graph = defaultdict(list)4for i, x in enumerate(isConnected):5for j, n in enumerate(x):6if j != i and n == 1:7graph[i].append(j)89visit = set()1011def dfs(node):12if node not in graph:13return14for neighbor in graph[node]:15if neighbor not in visit:16visit.add(neighbor)17dfs(neighbor)1819count = 020for i in range(len(isConnected)):21if i in visit:22continue23count += 124dfs(i)25return count