File tree Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Expand file tree Collapse file tree 2 files changed +45
-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
+ e = defaultdict (list )
4
+ for u , v in edges :
5
+ e [u ].append (v )
6
+ e [v ].append (u )
7
+ to_visit = set (range (0 , n ))
8
+
9
+ output = 0
10
+ while to_visit :
11
+ visited = set ()
12
+ nxt = [to_visit .pop ()]
13
+ output += 1
14
+
15
+ while nxt :
16
+ curr = nxt .pop ()
17
+ if curr in visited :
18
+ continue
19
+ visited .add (curr )
20
+ for x in e [curr ] :
21
+ if x not in visited :
22
+ nxt .append (x )
23
+ to_visit -= visited
24
+
25
+ return output
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
+ e = defaultdict (list )
4
+ for u , v in edges :
5
+ e [u ].append (v )
6
+ e [v ].append (u )
7
+ to_visit = set (range (0 , n ))
8
+
9
+ output = 0
10
+ while to_visit :
11
+ to_visit .add ((nxt := [to_visit .pop ()])[0 ])
12
+ output += 1
13
+
14
+ while nxt :
15
+ if (curr := nxt .pop ()) not in to_visit :
16
+ continue
17
+ to_visit .remove (curr )
18
+ nxt .extend (x for x in e [curr ] if x in to_visit )
19
+
20
+ return output
You can’t perform that action at this time.
0 commit comments