মনে করুন relations নামে একটি লিস্ট আছে। relations[i] دوটি সংখ্যা [ai, bi] ধারণ করে যা বোঝায় ব্যক্তি ai সোশ্যাল মিডিয়ায় bi-কে ফলো করছে। আমাদের সেই লোকদের লিস্ট বের করতে হবে যারা কাউকে ফলো করে এবং সেও তাকে ফলো করে ফেরত, সর্ট করা সিকোয়েন্সে ফেরত দিতে হবে।
ইনপুট relations = [[0, 2], [2, 3], [2, 0], [1, 0]] হলে আউটপুট হবে [0, 2]।
সমাধানের ধাপসমূহ:
- ans := নতুন সেট
- seen := নতুন সেট
- relations-এ প্রতিটি a, b পেয়ারের জন্য:
- পেয়ার (a, b) কে seen-এ যোগ করুন
- যদি (b, a) seen-এ থাকে, তবে b এবং a ans-এ যোগ করুন
- ans-এর উপাদান সর্ট করে ফেরত দিন
উদাহরণ
বাস্তবায়ন:
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))
ইনপুট
[[0, 2], [2, 3], [2, 0], [1, 0]]
আউটপুট
[0, 2]