কম্পিউটার

পাইথনে একটি সম্পর্কের তালিকা থেকে পারস্পরিক অনুগামীদের খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের সম্পর্ক নামক একটি তালিকা আছে। যেখানে সম্পর্কের তালিকা সম্পর্কের প্রতিটি উপাদানে [i] দুটি সংখ্যা রয়েছে [ai, bi] এটি নির্দেশ করে যে ব্যক্তি ai একটি সামাজিক মিডিয়া প্ল্যাটফর্মে bi অনুসরণ করছে। আমাদের এমন লোকদের তালিকা খুঁজে বের করতে হবে যারা কাউকে অনুসরণ করে এবং তারা তাদের অনুসরণ করে, আমাদের এটি সাজানো ক্রম অনুসারে ফিরিয়ে দিতে হবে।

সুতরাং, যদি ইনপুটটি সম্পর্কের মত হয় =[[0, 2],[2, 3],[2, 0],[1, 0]], তাহলে আউটপুট হবে [0, 2]।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • উত্তর :=একটি নতুন সেট

  • দেখা হয়েছে :=একটি নতুন সেট

  • সম্পর্কের মধ্যে প্রতিটি a এবং b জোড়ার জন্য, করুন

    • জোড়া (a, b) হিসাবে চিহ্নিত করুন

    • যদি (b, a)ও দেখা হিসাবে চিহ্নিত করা হয়, তাহলে

      • -এ b এবং a ঢোকান
  • উত্তরের উপাদানগুলি সাজান এবং ফেরত দিন

উদাহরণ

আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি

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 বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম