File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed
number-of-connected-components-in-an-undirected-graph Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ class Solution :
2+ # def countComponents(self, n: int, edges: List[List[int]]) -> int:
3+ # graph = [[] for _ in range(n)]
4+ # for node, adj in edges:
5+ # graph[node].append(adj)
6+ # graph[adj].append(node)
7+
8+ # visited = set()
9+
10+ # def dfs(node):
11+ # visited.add(node)
12+ # for adj in graph[node]:
13+ # if adj not in visited:
14+ # dfs(adj)
15+
16+ # cnt = 0
17+ # for node in range(n):
18+ # if node not in visited:
19+ # cnt += 1
20+ # dfs(node)
21+ # return cnt
22+
23+
24+ def countComponents (self , n : int , edges : List [List [int ]]) -> int :
25+ graph = [[] for _ in range (n )]
26+ for node , adj in edges :
27+ graph [node ].append (adj )
28+ graph [adj ].append (node )
29+
30+ cnt = 0
31+ visited = set ()
32+ for node in range (n ):
33+ if node in visited :
34+ continue
35+ cnt += 1
36+ queue = deque ([node ])
37+ while queue :
38+ node = queue .pop ()
39+ visited .add (node )
40+ for adj in graph [node ]:
41+ if adj not in visited :
42+ queue .append (adj )
43+ return cnt
You can’t perform that action at this time.
0 commit comments