Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Program to find mutual followers from a relations list in Python
Suppose we have a list called relations. Where each element in relations list relations[i] contains two numbers [ai, bi] it indicates person ai is following bi on a social media platform. We have to find the list of people who follow someone and they follow them back, we have to return it in sorted sequence.
So, if the input is like relations = [[0, 2],[2, 3],[2, 0],[1, 0]], then the output will be [0, 2].
To solve this, we will follow these steps −
ans := a new set
seen := a new set
-
for each pair a and b in relations, do
mark pair (a, b) as seen
-
if (b, a) is also marked as seen, then
insert b and a into
sort the elements of ans and return
Example
Let us see the following implementation to get better understanding
def solve(relations): ans = set() seen = set() for a, b in relations: seen.add((a, b)) if (b, a) in seen: ans.add(b) ans.add(a) k = list(ans) rtr = sorted(k) return rtr relations = [ [0, 2], [2, 3], [2, 0], [1, 0] ] print(solve(relations))
Input
[[0, 2],[2, 3],[2, 0],[1, 0]]
Output
[0, 2]
