কম্পিউটার

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


ধরুন আমাদের 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

  1. পাইথনে উচ্চতা পরীক্ষক

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

  3. পাইথনে অ্যারে ঘোরান

  4. পাইথনে সাজানো অ্যারে মার্জ করুন