ধরুন A এবং B দুইজন বন্ধু। তাদের বিভিন্ন আকারের ক্যান্ডি বার রয়েছে। এখানে A[i] হল A-এর মালিকানাধীন ক্যান্ডির i-th বারের মাপ, এবং B[j] হল B-এর মালিকানাধীন ক্যান্ডির j-তম বারের আকার।
যেহেতু তারা বন্ধু, তারা প্রতিটি একটি ক্যান্ডি বার বিনিময় করতে চায় যাতে বিনিময়ের পরে, A এবং B উভয়েরই একই পরিমাণ ক্যান্ডি থাকে। (একজন ব্যক্তির কাছে থাকা মোট ক্যান্ডির পরিমাণ হল তাদের কাছে থাকা ক্যান্ডি বারের মাপের সমষ্টি।) আমাদেরকে একটি পূর্ণসংখ্যা অ্যারে দিতে হবে, ধরুন উত্তর, যেখানে ans[0] হল ক্যান্ডি বারের আকার যা A কে অবশ্যই বিনিময় করতে হবে এবং ans[1] হল ক্যান্ডি বারের আকার যা B কে অবশ্যই বিনিময় করতে হবে। যদি একাধিক উত্তর থাকে, আমরা তাদের মধ্যে শুধুমাত্র একটি ফেরত দেব।
উদাহরণস্বরূপ, যদি A =[1, 2] এবং B =[2, 3] হয়, তাহলে আউটপুট হবে [1, 2]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- A এর যোগফল এবং B এর যোগফলের মধ্যে পার্থক্য নিন, তারপর এটিকে 2 দ্বারা ভাগ করুন এবং পূর্ণসংখ্যা অংশটিকে পার্থক্য করুন
- B কে একটি সেটে রূপান্তর করুন
- আমি A
- তে
- যদি আমি – বি-তে পার্থক্য করে, তবে [i, i – পার্থক্য] ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
class Solution(object): def fairCandySwap(self, A, B): diff = (sum(A) - sum(B))//2 B=set(B) for i in A: if i- diff in B: return [i,i-diff] ob1 = Solution() print(ob1.fairCandySwap([1,2], [2,3]))
ইনপুট
[1,2] [2,3]
আউটপুট
[1,2]