কম্পিউটার

পাইথনে সংলগ্ন কঠোরভাবে বর্ধিত সাবলিস্টের দৈর্ঘ্য খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, যখন আমরা তালিকা থেকে এক বা শূন্য উপাদান সরিয়ে ফেলতে পারি তখন আমাদের একটি সংলগ্ন কঠোরভাবে বর্ধিত সাবলিস্টের সর্বাধিক দৈর্ঘ্য খুঁজে বের করতে হবে৷

সুতরাং, ইনপুট যদি nums =[30, 11, 12, 13, 14, 15, 18, 17, 32] এর মত হয়, তাহলে আউটপুট হবে 7, যেমন আমরা তালিকা থেকে 18 বাদ দিলে আমরা পেতে পারি [11, 12, 13, 14, 15, 17, 32] যা দীর্ঘতম, সংলগ্ন, কঠোরভাবে ক্রমবর্ধমান সাবলিস্ট, এবং এর দৈর্ঘ্য হল 7৷

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

  • n :=সংখ্যার আকার

  • pre :=n আকারের একটি তালিকা এবং 1s দিয়ে পূরণ করুন

  • আমি 1 থেকে n - 1 রেঞ্জের জন্য, কর

    • যদি nums[i]> nums[i - 1], তারপর

      • pre[i] :=pre[i - 1] + 1

  • suff :=n আকারের একটি তালিকা এবং 1s দিয়ে পূরণ করুন

  • n - 2 থেকে -1 রেঞ্জে i এর জন্য, 1 দ্বারা হ্রাস করুন, করুন

    • যদি nums[i]

      • suff[i] :=suff[i + 1] + 1

  • উত্তর :=প্রাক-এর সর্বোচ্চ এবং সর্বাধিক suff-এর সর্বোচ্চ মান

  • 1 থেকে n - 1 রেঞ্জের জন্য, করুন

    • যদি nums[i - 1]

      • উত্তর :=সর্বাধিক উত্তর এবং (প্রি[i - 1] + suff[i + 1])

  • উত্তর ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, nums):
      n = len(nums)
      pre = [1] * n
      for i in range(1, n - 1):
         if nums[i] > nums[i - 1]:
            pre[i] = pre[i - 1] + 1
      suff = [1] * n
      for i in range(n - 2, -1, -1):
         if nums[i] < nums[i + 1]:
            suff[i] = suff[i + 1] + 1
               ans = max(max(pre), max(suff))
               for i in range(1, n - 1):
                  if nums[i - 1] < nums[i + 1]:
                     ans = max(ans, pre[i - 1] + suff[i + 1])
               return ans
ob = Solution()
nums = [30, 11, 12, 13, 14, 15, 18, 17, 32]
print(ob.solve(nums))

ইনপুট

[30, 11, 12, 13, 14, 15, 18, 17, 32]

আউটপুট

7

  1. পাইথনে দীর্ঘতম বিকল্প বৈষম্য উপাদানগুলির দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে দীর্ঘতম ক্রমবর্ধমান অনুক্রমের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

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

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