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

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

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

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

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

  • रिट:=0
  • i के लिए 0 से लेकर अंकों के आकार -1 तक के लिए
    • एलएचएस:=अंक[i]
    • rhs:=nums[i]
    • जे के लिए i श्रेणी में अंकों के आकार के लिए -1, do
      • lhs :=न्यूनतम lhs और nums[j]
      • rhs :=अधिकतम rhs और nums[j]
      • अगर (rhs - lhs) (j - i) के समान है, तो
        • ret :=अधिकतम रिट और (j - i + 1)
  • रिटर्न रिटर्न

उदाहरण

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

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))

इनपुट

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

आउटपुट

1

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

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

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

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

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

    मान लीजिए कि हमारे पास एक स्ट्रिंग s है, हमें समान वर्णों वाले सबसे लंबे सबस्ट्रिंग की लंबाई ज्ञात करनी है। इसलिए, यदि इनपुट abbbaccabbba जैसा है, तो आउटपुट 4 होगा, क्योंकि इसमें लगातार चार बी होते हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि s का आकार 0 है, तो वापसी 0 s :=s रिक्त