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

পাইথনে লংগেস্ট কনসেকিউটিভ সিকোয়েন্স


ধরুন একটি পূর্ণসংখ্যার অ্যারে আছে। আমাদের লংগেস্ট কনসেকিউটিভ এলিমেন্ট সিকোয়েন্সের দৈর্ঘ্য বের করতে হবে। যেমন [100, 4, 250, 1, 3, 2] ইনপুটের জন্য উত্তর ৪, কারণ লংগেস্ট কনসেকিউটিভ সিকোয়েন্স [1,2,3,4]।

সমাধানের ধাপগুলো −

  • অ্যারেকে সেটে রূপান্তর করুন, longest := 0
  • a-তে থাকা প্রতিটি i এর জন্য − যদি i-1 a-তে না থাকে তবে current := i, streak := 0; while i in a − i++, streak++; longest = max(longest, streak)
  • longest রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন −

class Solution(object):
    def longestConsecutive(self, a):
        a = set(a)
        longest = 0
        for i in a:
            if i-1 not in a:
                current = i
                streak = 0
                while i in a:
                    i+=1
                    streak+=1
                    longest = max(longest,streak)
        return longest

ob = Solution()
print(ob.longestConsecutive([100,4,250,1,3,2]))

ইনপুট

[100,4,250,1,3,2]

আউটপুট

4

  1. জাভাস্ক্রিপ্টে লংগেস্ট কনসিকিউটিভ সিকোয়েন্সের দৈর্ঘ্য বের করা

  2. C++-এ Binary Tree Longest Consecutive Sequence: বাইনারি ট্রিতে সর্বোচ্চ সতত ক্রম খুঁজে বের করা

  3. Python-এ লিস্ট প্রিন্ট করা

  4. পাইথনে স্ট্রিং-এ সবচেয়ে লম্বা পুনরাবৃত্তিমূলক সিকোয়েন্স খুঁজে বের করা