কম্পিউটার

একটি সেটকে সমান সমষ্টিতে বিভক্ত করার প্রোগ্রাম যেখানে প্রথম সেটের উপাদানগুলি পাইথনের দ্বিতীয় থেকে ছোট


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, আমাদের পরীক্ষা করতে হবে যে আমরা তালিকাটিকে A এবং B দুটি গ্রুপে বিভক্ত করতে পারি যে যেমন:A এর যোগফল এবং B এর যোগফল একই। এখানে A-এর প্রতিটি সংখ্যা B-এর প্রতিটি সংখ্যার থেকে কঠোরভাবে ছোট।

সুতরাং, যদি ইনপুটটি nums =[3, 4, 5, 12] এর মত হয়, তাহলে আউটপুটটি True হবে, যেমন আমাদের A =[3,4,5] এবং B =[12] এবং উভয়ের যোগফল 12 থাকতে পারে। .

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • তালিকার সংখ্যাগুলি সাজান

  • মোট :=সংখ্যায় সমস্ত উপাদানের যোগফল

  • s :=0, i :=0

  • যখন আমি <সংখ্যার আকার, কর

    • n :=সংখ্যা[i]

    • যখন i <সংখ্যা এবং সংখ্যার আকার[i] n, do

      এর মতো
      • s :=s + nums[i]

      • i :=i + 1

    • যদি s মোট −s এর সমান হয়, তাহলে

      • রিটার্ন ট্রু

  • রিটার্ন ফলস

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, nums):
      nums.sort()
      total = sum(nums)
      s = 0
      i = 0
      while i < len(nums):
         n = nums[i]
         while i < len(nums) and nums[i] == n:
            s += nums[i]
            i += 1
         if s == total - s:
            return True
      return False
ob = Solution()
nums = [3, 4, 5, 12]
print(ob.solve(nums))

ইনপুট

[3, 4, 5, 12]

আউটপুট

True

  1. পাইথনে একটি তালিকার অ-সংলগ্ন উপাদানগুলির বৃহত্তম যোগফল খুঁজে বের করার প্রোগ্রাম

  2. একটি সাবলিস্ট খুঁজতে প্রোগ্রাম যেখানে পাইথনে প্রথম এবং শেষ মান একই

  3. পাইথনে প্রদত্ত ক্রিয়াকলাপ সম্পাদন করে সমস্ত উপাদানকে সমান করার প্রোগ্রাম

  4. উপাদান সংখ্যা গণনা প্রোগ্রাম পাইথনে সঠিক অবস্থানে স্থাপন করা হয়