Twitter Online Assessment (OA) 2021 | Social Network
In a social media website (which is probably Twitter, if you are wondering), there are a total
of n users. Each user can follow any number of other users. Let f be a matrix of
relationship between these users, where f[i][j] is either 0 or 1. A 1 indicates
that person i (starting from 0) is following person j, while 0 means otherwise.
In this question, we assume that each person is following themselves, and following is
symmetrical. That is, if i follows j, then j follows i. We can then define
a "group" of people. A "group" of people are people that follow each other, either directly
or indirectly. For example, if user 0 follows user 1, and user 1 follows user 2,
user 0 follows 2 indirectly.
Question: How many groups are among these n people?
Parameter
f: An integer matrix representing the relationship matrix between the users.
Result
- An integer representing the number of groups among these people.
Examples
Example 1:
Input:
f = [ [1, 1, 0], [1, 1, 0], [0, 0, 1], ]
Output: 2
Explanation: There are 2 groups: User 0, 1 and user 2. User 0 and 1 are in a group
because they follow each other.
Constraints
1 <= n <= 300