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

पायथन में सबसे लंबा लगातार अनुक्रम


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

  1. जावास्क्रिप्ट में संख्याओं के सबसे लंबे समय तक संभव क्रम की लंबाई

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

  1. C++ में बाइनरी ट्री सबसे लंबे समय तक लगातार अनुक्रम

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

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

    आप इनपुट स्ट्रिंग में प्रत्येक स्थिति से शुरू होने वाले प्रत्येक उप स्ट्रिंग का मिलान करने के लिए डिफॉल्टडिक्ट का उपयोग कर सकते हैं। गेटसब विधि एक जनरेटर विधि है जो हर बार कॉल करने पर एक छोटी उप स्ट्रिंग उत्पन्न करती है। उदाहरण from collections import defaultdict def getsubs(loc, s):     s