কম্পিউটার

সাবলিস্টের যোগফল চেক করার প্রোগ্রাম প্রদত্ত তালিকা পাইথনের মোট যোগফলের থেকে কঠোরভাবে বেশি


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

সুতরাং, যদি ইনপুটটি nums =[1, −2, 3, 4] এর মত হয়, তাহলে আউটপুটটি True হবে, কারণ তালিকার যোগফল 6 এবং সাবলিস্ট [3, 5] এর যোগফল হল 8 যা হল কঠোরভাবে বড়।

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

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

  • s :=0

  • প্রতিটি i সংখ্যায়, করুন

    • s :=s + i

    • যদি s <0, তাহলে

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

  • s :=0

  • i :=সংখ্যার আকার − 1

  • যখন i> −1, কর

    • s :=s + nums[i]

    • যদি s <0, তাহলে

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

    • i :=i − 1

  • রিটার্ন ফলস

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

উদাহরণ

class Solution:
   def solve(self, nums):
      total = sum(nums)
      s = 0
      for i in nums:
         s += i
         if s < 0:
            return True
      s = 0
      i = len(nums) − 1
      while i > −1:
         s += nums[i]
         if s < 0:
            return True
         i = i − 1
      return False

ob1 = Solution()
nums = [2, -4, 3, 5]
print(ob1.solve(nums))

ইনপুট

[2, −4, 3, 5]

আউটপুট

True

  1. প্রদত্ত স্ট্রিংটি স্বরবর্ণ প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রাম সাবলিস্টের দ্বিতীয় উপাদান অনুযায়ী একটি তালিকা সাজাতে

  4. পাইথন প্রোগ্রাম একটি তালিকার সমস্ত মান প্রদত্ত মানের চেয়ে বড় কিনা তা পরীক্ষা করতে