ধরুন আমাদের 2n সংখ্যার পূর্ণসংখ্যার একটি অ্যারে আছে, আমাদের এই পূর্ণসংখ্যাগুলিকে n জোড়া পূর্ণসংখ্যাতে গোষ্ঠীবদ্ধ করতে হবে, যেমন (a1, b1), (a2, b2), ..., (an, bn) যা মিনিটের যোগফল তৈরি করে (ai, bi) যতটা সম্ভব বড় 1 থেকে n রেঞ্জের সকল i জন্য। সুতরাং যদি ইনপুট হয় [1, 4, 3, 2], তাহলে আউটপুট হবে 4। তাই n হল 2। এবং জোড়ার সর্বোচ্চ যোগফল হল 4। এটি হল min(1, 2) + min(3, 4) =4
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- আলো n হল অ্যারের আকার
- অ্যারে সাজান
- উত্তর :=0
- আমি 0 থেকে n রেঞ্জের জন্য, 2 দ্বারা লাফিয়ে উঠুন
- উত্তর :=উত্তর + অ্যারে[i]
- উত্তর ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
class Solution(object): def arrayPairSum(self, a): """ :type nums: List[int] :rtype: int """ 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