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

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


मान लीजिए हमारे पास एक असॉर्टेड सरणी है, हमें लगातार तत्वों के सबसे लंबे अनुक्रम की लंबाई ढूंढनी है।

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

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

  • nums := nums के सभी अद्वितीय तत्व (सेट में बदलें)।

  • max_cnt := 0 आरंभ करें।

  • प्रत्येक num के लिए nums में:

    • यदि num - 1 nums में नहीं है, तो:

      • cnt := 0।

      • जब तक num nums में मौजूद है:

        • num := num + 1।

        • cnt := cnt + 1।

      • max_cnt := max(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. पायथन में n-ary ट्री में सबसे लंबे पथ की लंबाई खोजने का प्रोग्राम पायथन में n-ary ट्री में सबसे लंबे पथ की लंबाई खोजने का प्रोग्राम

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

  1. - Python में सबसे लंबे सर्कुलर बढ़ते सबसीक्वेंस की लंबाई खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नाम की संख्याओं की एक सूची है, हमें सबसे लंबे बढ़ते सबसीक्वेंस की लंबाई ढूंढनी है और हम मान रहे हैं कि सबसीक्वेंस सूची की शुरुआत में वापस लपेट सकता है।इसलिए, यदि इनपुट इस तरह है nums = [6, 5, 8, 2, 3, 4], तो आउटपुट 5 होगा, क्योंकि सबसे लंबा बढ़ता सबसीक्वेंस [2, 3, 4, 6, 8] ह

  1. Python में बाइनरी ट्री के सबसे लंबे लगातार पथ की लंबाई खोजने का प्रोग्राम Python में बाइनरी ट्री के सबसे लंबे लगातार पथ की लंबाई खोजने का प्रोग्राम

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