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

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

मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, जहां सभी तत्व अद्वितीय हैं। हमें उस सबसे लंबे सबलिस्ट की लंबाई ढूंढनी है जिसमें लगातार तत्व हों।

उदाहरण के लिए, यदि इनपुट है nums = [3, 6, 7, 5, 4, 9], तो आउटपुट 5 होगा, क्योंकि सबलिस्ट [3, 6, 7, 5, 4] है जिसमें 3 से 7 तक सभी लगातार तत्व हैं।

एल्गोरिदम

  1. ret := 0
  2. प्रत्येक i के लिए 0 से len(nums)-1 तक:
    • lhs := nums[i], rhs := nums[i]
    • प्रत्येक j के लिए i से len(nums)-1 तक:
      • lhs = min(lhs, nums[j])
      • rhs = max(rhs, nums[j])
      • यदि (rhs - lhs) == (j - i), तो ret = max(ret, j - i + 1)
  3. ret लौटाएं

उदाहरण कार्यान्वयन

def solve(nums):
    ret = 0
    for i in range(len(nums)):
        lhs = nums[i]
        rhs = nums[i]
        for j in range(i, len(nums)):
            lhs = min(lhs, nums[j])
            rhs = max(rhs, nums[j])
            if rhs - lhs == j - i:
                ret = max(ret, j - i + 1)
    return ret

nums = [3, 6, 7, 5, 4, 9]
print(solve(nums))  # आउटपुट: 5

इनपुट

[3, 6, 7, 5, 4, 9]

आउटपुट

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

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

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

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

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

    मान लीजिए हमारे पास एक स्ट्रिंग s है, हमें समान वर्णों वाले सबसे लंबे सबस्ट्रिंग की लंबाई ढूंढनी है। उदाहरण के लिए, यदि इनपुट abbbaccabbbba है, तो आउटपुट 4 होगा, क्योंकि चार लगातार b हैं। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: यदि s का आकार 0 है, तो 0 वापस करें s := s + खाली स्थान ct :=