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