কম্পিউটার টিউটোরিয়াল

পাইথন প্রোগ্রাম - সম্পর্ক লিস্ট থেকে পারস্পরিক ফলোয়ার বের করুন

মনে করুন 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]
  1. পাইথনে স্ট্রিং তালিকা থেকে লংগেস্ট কমন প্রিফিক্স খুঁজে বের করার প্রোগ্রাম

  2. লিস্টের কিউমুলেটিভ সাম বের করার পাইথন প্রোগ্রাম

  3. পাইথনে লিস্ট থেকে সর্বোচ্চ সংখ্যা বের করা

  4. পাইথনে লিস্ট থেকে N বড় এলিমেন্ট বের করা