1def findCircleNum(isConnected):
2 n = len(isConnected)
3 visited = [False] * n
4 provinces = 0
5
6 def dfs(city):
7 visited[city] = True
8 for neighbor in range(n):
9 if isConnected[city][neighbor] == 1 and not visited[neighbor]:
10 dfs(neighbor)
11
12 for i in range(n):
13 if not visited[i]:
14 provinces += 1
15 dfs(i)
16
17 return provinces| Variable | Value |
|---|---|
isConnected | Matrix(3x3) [[1,1,0]...] |
n | - |
visited | - |
provinces | - |
i | - |
| Depth | Function Call |
|---|---|
| 1 | findCircleNum([[1,1,0],[1,1,0],[0,0,1]]) |
1def findCircleNum(isConnected):
2 n = len(isConnected)
3 visited = [False] * n
4 provinces = 0
5
6 def dfs(city):
7 visited[city] = True
8 for neighbor in range(n):
9 if isConnected[city][neighbor] == 1 and not visited[neighbor]:
10 dfs(neighbor)
11
12 for i in range(n):
13 if not visited[i]:
14 provinces += 1
15 dfs(i)
16
17 return provinces