ধরুন আমাদের পূর্ণসংখ্যার একটি অ্যারে আছে। আমাদের দীর্ঘতম ধারাবাহিক মৌল অনুক্রমের দৈর্ঘ্য খুঁজে বের করতে হবে। সুতরাং যদি ইনপুটটি [100, 4, 250, 1, 3, 2] এর মত হয়, উত্তর হবে 4, কারণ দীর্ঘতম ধারাবাহিক ক্রম হল [1,2,3,4]।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
অ্যারে সেট করুন, দীর্ঘতম :=0
-
আমি রেঞ্জ অ্যারে-
-এর জন্য-
যদি i – 1 a −
তে না থাকে-
বর্তমান :=i, স্ট্রিক :=0
-
যখন আমি −
তে থাকি-
i 1 দ্বারা বাড়ান, স্ট্রিক 1 দ্বারা বাড়ান
-
দীর্ঘতম :=দীর্ঘতম এবং স্ট্রিকের সর্বোচ্চ
-
-
-
-
দীর্ঘতম রিটার্ন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -
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