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

पायथन में लगातार सबसे लंबे अनुक्रम की लंबाई खोजने का कार्यक्रम

मान लीजिए कि हमारे पास संख्याओं की एक क्रमबद्ध सरणी है, हमें लगातार तत्वों के सबसे लंबे अनुक्रम की लंबाई का पता लगाना है।

इसलिए, यदि इनपुट अंकों की तरह है =[70, 7, 50, 4, 6, 5], तो आउटपुट 4 होगा, क्योंकि लगातार तत्वों का सबसे लंबा अनुक्रम [4, 5, 6, 7] है। इसलिए हम इसकी लंबाई लौटाते हैं:4.

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • अंक :=अंकों के सभी अद्वितीय तत्व

  • max_cnt :=0

  • अंकों में प्रत्येक अंक के लिए, करें

    • यदि संख्या -1 अंकों में नहीं है, तो

      • सीएनटी:=0

      • जबकि संख्या अंकों में मौजूद है, करें

        • संख्या :=संख्या + 1

        • सीएनटी:=सीएनटी + 1

      • max_cnt:=max_cnt और cnt की अधिकतम

  • वापसी max_cnt

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

class Solution:
   def solve(self, nums):
      nums = set(nums)
      max_cnt = 0
      for num in nums:
         if num - 1 not in nums:
            cnt = 0
            while num in nums:
               num += 1
               cnt += 1
            max_cnt = max(max_cnt, cnt)
      return max_cnt
ob = Solution()
nums = [70, 7, 50, 4, 6, 5]
print(ob.solve(nums))

इनपुट

[70, 7, 50, 4, 6, 5]

आउटपुट

4

  1. पायथन में एक एन-आरी पेड़ में सबसे लंबे पथ की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक किनारे की सूची है जहां प्रत्येक आइटम धारण कर रहा है (यू, वी) दर्शाता है कि आप वी के माता-पिता हैं। हमें पेड़ में सबसे लंबे पथ की लंबाई का पता लगाना है। पथ की लंबाई उस पथ में 1 + नोड्स की संख्या है। तो, अगर इनपुट पसंद है तो आउटपुट 5 होगा, क्योंकि पथ [1, 4, 5, 7] है, कुल

  1. पायथन में सबसे लंबे समय तक सर्कुलर बढ़ने के बाद की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, हमें सबसे लंबे समय तक बढ़ते क्रम की लंबाई का पता लगाना होगा और हम यह मान रहे हैं कि अनुवर्ती सूची की शुरुआत के आसपास लपेटा जा सकता है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - a :=दो बार अंकों के आकार की सूची बनाएं और अंक

  1. अजगर में एक बाइनरी ट्री के सबसे लंबे क्रमागत पथ की लंबाई ज्ञात करने का कार्यक्रम

    मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें बाइनरी ट्री में सबसे लंबा रास्ता खोजना होगा। तो, अगर इनपुट पसंद है तो आउटपुट 5 होगा क्योंकि लगातार सबसे लंबा क्रम [2, 3, 4, 5, 6] है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि रूट रिक्त है, तो वापसी 0 मैक्सपाथ:=0 एक फंक्शन हेल्पर () को प