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