Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में सबसे लंबा लगातार अनुक्रम


मान लीजिए हमारे पास पूर्णांकों की एक सरणी है। हमें सबसे लंबे लगातार तत्व अनुक्रम की लंबाई ढूंढनी है। इसलिए यदि इनपुट [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

  1. - JavaScript में संख्याओं के सबसे लंबे संभावित लगातार अनुक्रम की लंबाई

    हमें एक JavaScript फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में पूर्णांकों की एक सरणी लेता है। फ़ंक्शन को सरणी में मौजूद सबसे लंबे लगातार बढ़ते अनुक्रम की लंबाई ढूंढकर वापस करनी चाहिए (सन्निकट या गैर-सन्निकट)। उदाहरण के लिए - यदि इनपुट सरणी है - const arr = [4, 6, 9, 1, 2, 8, 5, 3, -1]; तो आ

  1. C++ में बाइनरी ट्री लॉन्गेस्ट कंसिक्यूटिव सीक्वेंस - माता-पिता से बच्चा पथ C++ में बाइनरी ट्री लॉन्गेस्ट कंसिक्यूटिव सीक्वेंस - माता-पिता से बच्चा पथ

    समस्या विवरण मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें सबसे लंबे लगातार अनुक्रम पथ की लंबाई ढूंढनी है। यदि पथ किसी प्रारंभिक नोड से ट्री में किसी भी नोड तक माता-पिता-बच्चा कनेक्शन के साथ नोड्स के किसी भी अनुक्रम को संदर्भित करता है। सबसे लंबा लगातार पथ माता-पिता से बच्चे का पालन करना चाहिए लेकिन

  1. - पायथन में स्ट्रिंग में सबसे लंबी दोहराव वाली सीक्वेंस कैसे खोजें

    आप प्रत्येक स्थिति से शुरू होने वाली प्रत्येक सबस्ट्रिंग की गिनती के लिए defaultdict का उपयोग कर सकते हैं। getsubs मेथड एक जेनरेटर मेथड है जो हर बार कॉल किए जाने पर एक छोटी सबस्ट्रिंग देता है। उदाहरण = 2] if filtered: maxkey = max(filtered, key=len) # सबसे लंबी स्ट्रिंग खोजें re