কম্পিউটার

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


ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে বলা হয় সংখ্যা, এবং দীর্ঘতম সাবলিস্ট ইননামের দৈর্ঘ্য খুঁজে বের করি যাতে প্রতিটি পরপর সংখ্যার মধ্যে সমতা সম্পর্ক বিকল্পভাবে কম-এর চেয়ে বেশি এবং ক্রিয়াকলাপের মধ্যে পরিবর্তিত হয়। প্রথম দুটি সংখ্যার অসমতা হয় কম-এর চেয়ে বা বড়-এর চেয়েও হতে পারে৷

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[1, 2, 6, 4, 5], তাহলে আউটপুট হবে 4, কারণ দীর্ঘতম অসমতার বিকল্প সাবলিস্ট হল [2, 6, 4, 5] 2 <6> 4 <5.

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

  • একটি ফাংশন get_direction() সংজ্ঞায়িত করুন। এটি একটি, b

    লাগবে৷
    • 0 ফেরত দিন যদি a হয় b এর মতো অন্যথায় -1 যদি a

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

    • সংখ্যার রিটার্ন সাইজ

  • max_length :=1, cur_length :=1, last_direction :=0

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

    • দিক:=get_direction(সংখ্যা[i], সংখ্যা[i + 1])

    • যদি দিকনির্দেশ 0 এর মত হয়, তাহলে

      • cur_length :=1

    • অন্যথায় যখন দিকনির্দেশ last_direction এর মত হয়, তখন

      • cur_length :=2

    • অন্যথায়,

      • cur_length :=cur_length + 1

    • max_length :=সর্বাধিক max_length এবং cur_length

    • last_direction :=দিকনির্দেশ

  • max_length

    ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, nums):
      if len(nums) < 2:
         return len(nums)
      def get_direction(a, b):
         return 0 if a == b else -1 if a < b else 1
      max_length = 1
      cur_length = 1
      last_direction = 0
      for i in range(len(nums) - 1):
         direction = get_direction(nums[i], nums[i + 1])
         if direction == 0:
            cur_length = 1
         elif direction == last_direction:
            cur_length = 2
         else:
            cur_length += 1
         max_length = max(max_length, cur_length)
         last_direction = direction
      return max_length
ob = Solution()
nums = [1, 2, 6, 4, 5]
print(ob.solve(nums))

ইনপুট

[1, 2, 6, 4, 5]

আউটপুট

4

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

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

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

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