কম্পিউটার

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


ধরুন আমাদের কাছে nums নামক সংখ্যার একটি তালিকা আছে, আমরা একটি ফাংশন সংজ্ঞায়িত করব যা অ-সংলগ্ন সংখ্যার বৃহত্তম যোগফল প্রদান করে। এখানে সংখ্যা 0 বা ঋণাত্মক হতে পারে।

সুতরাং, যদি ইনপুটটি [3, 5, 7, 3, 6] এর মত হয়, তাহলে আউটপুট 16 হবে, যেমন আমরা 16 পেতে 3, 7, এবং 6 নিতে পারি।

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

  • যদি সংখ্যার আকার <=2, তাহলে

    • সর্বাধিক সংখ্যা ফেরত দিন

  • না নিন :=0

  • নিন :=সংখ্যা[0]

  • আমি রেঞ্জ 1 থেকে সংখ্যার আকারের জন্য, করুন

    • take :=noTake + nums[i]

    • noTake :=সর্বাধিক noTake and take

  • সর্বাধিক না নিন এবং গ্রহণ করুন

    ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, nums):
      if len(nums) <= 2:
         return max(nums)
      noTake = 0
      take = nums[0]
      for i in range(1, len(nums)):
         take, noTake = noTake + nums[i], max(noTake, take)
         return max(noTake, take)
ob = Solution()
nums = [3, 5, 7, 3, 6]
print(ob.solve(nums))

ইনপুট

[3, 5, 7, 3, 6]

আউটপুট

16

  1. পাইথন প্রোগ্রাম একটি তালিকার ক্রমবর্ধমান যোগফল খুঁজে বের করতে

  2. পাইথন প্রোগ্রাম তালিকায় উপাদানের যোগফল খুঁজে বের করতে

  3. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  4. একটি তালিকা থেকে N বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম