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

পাইথনে অ্যারে পার্টিশন I

২n সংখ্যক পূর্ণসংখ্যার একটি অ্যারে দেওয়া থাকে। এগুলোকে n জোড়ে ভাগ করতে হবে (a1, b1), (a2, b2), ..., (an, bn) এমনভাবে যাতে min(ai, bi) এর যোগফল সর্বোচ্চ হয়। উদাহরণ: [1, 4, 3, 2] হলে আউটপুট ৪। কারণ সোর্ট করলে [1,2,3,4], জোড়ها হবে (1,2) ও (3,4), মিনিমামগুলো যোগফল = ১+৩ = ৪।

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

  1. অ্যারেটি সোর্ট করুন।
  2. প্রতিটি অল্টারনেট উপাদান (ইন্ডেক্স ০, ২, ৪...) যোগ করুন।
  3. যোগফল রিটার্ন করুন।

উদাহরণ কোড

class Solution(object):
    def arrayPairSum(self, a):
        n = len(a)
        a.sort()
        ans = 0
        for i in range(0, n, 2):
            ans += a[i]
        return ans

ob1 = Solution()
print(ob1.arrayPairSum([1,4,3,2]))

ইনপুট

[1,4,3,2]

আউটপুট

4
  1. পাইথনে হাইট চেকার (Height Checker in Python)

  2. পাইথনে অ্যারে প্যারিটি অনুযায়ী সাজানো

  3. পাইথনে অ্যারে রোটেট (Rotate Array)

  4. পাইথনে সোর্টেড অ্যারে মার্জ (Merge Sorted Array)