কম্পিউটার

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


ধরুন আমাদের কাছে সংখ্যার একটি সাজানো বিন্যাস নেই, আমাদের ধারাবাহিক উপাদানগুলির দীর্ঘতম অনুক্রমের দৈর্ঘ্য খুঁজে বের করতে হবে৷

সুতরাং, যদি ইনপুটটি nums =[70, 7, 50, 4, 6, 5] এর মতো হয়, তাহলে আউটপুট হবে 4, কারণ ধারাবাহিক উপাদানগুলির দীর্ঘতম অনুক্রম হল [4, 5, 6, 7]। তাই আমরা এর দৈর্ঘ্য ফিরিয়ে দিই:4.

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

  • সংখ্যা :=সংখ্যার সমস্ত অনন্য উপাদান

  • max_cnt :=0

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

    • যদি সংখ্যা - 1 সংখ্যায় না হয়, তাহলে

      • cnt :=0

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

        • সংখ্যা :=সংখ্যা + 1

        • cnt :=cnt + 1

      • max_cnt :=সর্বাধিক max_cnt এবং cnt

  • রিটার্ন max_cnt

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

উদাহরণ

class Solution:
   def solve(self, nums):
      nums = set(nums)
      max_cnt = 0
      for num in nums:
         if num - 1 not in nums:
            cnt = 0
            while num in nums:
               num += 1
               cnt += 1
            max_cnt = max(max_cnt, cnt)
      return max_cnt
ob = Solution()
nums = [70, 7, 50, 4, 6, 5]
print(ob.solve(nums))

ইনপুট

[70, 7, 50, 4, 6, 5]

আউটপুট

4

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

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

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

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