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