[
dfs
bfs
connected components
]
BinarySearch 0150 Friend Groups
Problem statement
https://binarysearch.com/problems/Friend-Groups/
Solution
Variation of Leetcode 0547. Number of Provinces, about connected components.
Complexity
It is O(n + m) for time and O(n) for space.
Code
class Solution:
def solve(self, friends):
n, comp = len(friends), 0
visited = [0]*n
def dfs(x):
if visited[x]: return
visited[x] = 1
for i in friends[x]:
dfs(i)
for i in range(n):
if visited[i] == 0:
dfs(i)
comp += 1
return comp