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

পাইথনে ন্যায্য ক্যান্ডি এক্সচেঞ্জ

দুই বন্ধু A এবং B-এর কাছে আলাদা আকারের ক্যান্ডি বার আছে। A[i] হল A-এর i-তম ক্যান্ডির আকার এবং B[j] হল B-এর j-তম ক্যান্ডির আকার। তারা একে অপরের সাথে একটি করে ক্যান্ডি বিনিময় করতে চায় যাতে বিনিময়ের পর তাদের মোট ক্যান্ডির আকার সমান হয়। আমাদের বের করতে হবে A কত আকারের ক্যান্ডি দেবে এবং B কত আকারের ক্যান্ডি দেবে। একাধিক সমাধান থাকলে যেকোনো একটি দিলে চলবে।

উদাহরণস্বরূপ, A = [1, 2] এবং B = [2, 3] হলে আউটপুট হবে [1, 2]।

সমাধানের পদ্ধতি

  1. A এবং B-এর যোগফলের পার্থক্য নিয়ে ২ দিয়ে ভাগ করুন এবং পূর্ণসংখ্যা অংশ নিন diff = (sum(A) - sum(B)) // 2।
  2. B-কে সেট (set) এ রূপান্তর করুন।
  3. A-এর প্রতিটি উপাদান i এর জন্য:
    • যদি i - diff B-তে থাকে, তবে [i, i - diff] রিটার্ন করুন।

উদাহরণ কোড

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]
  1. পাইথনে Sqrt(x) ইমপ্লিমেন্টেশন

  2. পাইথনে issuperset() ফাংশন

  3. Python-এ দুটি ভেরিয়েবল স্ব্যাপ (Swap) করা

  4. পাইথনে সোয়াপ (Swap) ফাইল রিমুভ করার পদ্ধতি