কম্পিউটার টিউটোরিয়াল

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


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

উদাহরণ: nums = [70, 7, 50, 4, 6, 5] হলে আউটপুট 4, কারণ সর্বোচ্চ ক্রমাগত সিকোয়েন্স হল [4, 5, 6, 7]।

সমাধানের ধাপসমূহ

  • nums := nums-এর সব অনন্য উপাদান (সেটে রূপান্তর)।
  • max_cnt := 0
  • প্রতিটি num-এর জন্য nums-এ:
    • যদি num - 1 nums-এ না থাকে, তবে:
      • cnt := 0
      • যতক্ষণ num nums-এ থাকে, ততক্ষণ num := num + 1, cnt := cnt + 1
      • max_cnt := max(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. পাইথনে n-ary ট্রি-তে সর্বোচ্চ পথ দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

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

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

  4. পাইথনে বাইনারি ট্রির লংগেস্ট কনsekutিভ পথের দৈর্ঘ্য বের করার প্রোগ্রাম