मान लीजिए हमारे पास पूर्णांकों की एक सरणी है। हमें सबसे लंबे लगातार तत्व अनुक्रम की लंबाई ढूंढनी है। इसलिए यदि इनपुट [100, 4, 250, 1, 3, 2] जैसा है, तो उत्तर 4 होगा, क्योंकि सबसे लंबा लगातार अनुक्रम [1,2,3,4] है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −
सरणी को सेट बनाएं, longest := 0
i के लिए range सरणी में −
यदि i - 1 a में नहीं है −
current := i, streak := 0
जब तक i a में है −
i को 1 से बढ़ाएं, streak को 1 से बढ़ाएं
longest := 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