কম্পিউটার

পাইথনে সংলগ্ন সাবয়ারের সর্বাধিক পণ্য খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে nums নামক একটি অ্যারে আছে, আমাদেরকে একটি অ্যারের মধ্যে একটি সংলগ্ন সাবয়ারের উপাদানগুলির গুণফল খুঁজে বের করতে হবে (অন্তত একটি সংখ্যা রয়েছে) যার মধ্যে সবচেয়ে বড় পণ্য রয়েছে। সুতরাং যদি অ্যারেটি [1,9,2,0,2,5] হয়, তাহলে আউটপুট হবে 18, যেহেতু সংলগ্ন সাবয়ারে [1,9,2]-এর সর্বাধিক পণ্য রয়েছে৷

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

  • max_list :=আকার সংখ্যার তালিকা, এবং 0 দিয়ে পূরণ করুন
  • min_list :=আকার সংখ্যার তালিকা, এবং 0 দিয়ে পূরণ করুন
  • min_list :=আকার সংখ্যার তালিকা, এবং 0 দিয়ে পূরণ করুন
  • আমি 1 থেকে সংখ্যার দৈর্ঘ্যের মধ্যে
    • max_list[i] =max_list[i - 1]*nums[i], min_list[i - 1]*nums[i] এবং nums[i]
    • min_list[i] =minof min_list[i - 1]*nums[i], nums[i], max_list[i - 1]*nums[i]
  • max_list এর সর্বোচ্চ ফেরত দিন

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

উদাহরণ

class Solution(object):
   def maxProduct(self, nums):
      max_list = [0] * len(nums)
      min_list = [0] * len(nums)
      max_list[0] = nums[0]
      min_list[0] = nums[0]
      for i in range(1,len(nums)):
         max_list[i] = max(max(max_list[i-1]*nums[i],min_list[i-1]*nums[i]),nums[i])
         min_list[i] = min(min(min_list[i-1]*nums[i],nums[i]),max_list[i-1]*nums[i])
      return max(max_list)
ob1 = Solution()
print(ob1.maxProduct([1,9,2,0,2,5]))

ইনপুট

[1,9,2,0,2,5]

আউটপুট

18

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

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

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

  4. পাইথনে সর্বাধিক পণ্য সাবারে