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