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

पायथन में क्रम में सभी स्वरों का सबसे लंबा विकल्प खोजने का कार्यक्रम

मान लीजिए कि हमारे पास केवल अंग्रेजी स्वरों के साथ एक स्ट्रिंग है, हमें s के सबसे लंबे सुंदर विकल्प की लंबाई का पता लगाना है। यदि हमें ऐसा सबस्ट्रिंग नहीं मिल रहा है, तो 0 लौटाएं। एक स्ट्रिंग को सुंदर कहा जाता है यदि वह निम्नलिखित शर्तों को पूरा करती है -

  • 5 स्वरों में से प्रत्येक को इसमें कम से कम एक बार अवश्य आना चाहिए।

  • अक्षरों को वर्णानुक्रम में क्रमबद्ध किया जाना चाहिए

इसलिए, यदि इनपुट s ="aaioaaaaaeiiouuooaauu" जैसा है, तो आउटपुट 10 होगा क्योंकि सबस्ट्रिंग "aaaaeiiouu" है जो सुंदर है।

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

  • स्वर :=सभी स्वरों की सूची ['a', 'e', ​​'i', 'o', 'u']

  • एल:=0, आर:=0, सबसे लंबा:=0

  • जबकि l

    • मान्य:=सत्य

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

      • मान्य:=मान्य सत्य है और (r

      • जबकि r

        • आर:=आर + 1

    • अगर मान्य सही है, तो

      • सबसे लंबा :=अधिकतम सबसे लंबा और (r - l)

    • एल :=आर

  • सबसे लंबी वापसी

उदाहरण

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

def solve(s):
   vowels = ['a', 'e', 'i', 'o', 'u']
   l, r, longest = 0, 0, 0
   while (l < len(s)):
      valid = True
      for vowel in vowels:
         valid &= (r < len(s) and s[r] == vowel)
         while (r < len(s) and s[r] == vowel):
            r += 1
      if (valid):
         longest = max(longest, r - l)
      l = r
   return longest

s = "aaioaaaaeiiouuooaauu"
print(solve(s))

इनपुट

"aaioaaaaeiiouuooaauu"

आउटपुट

10

  1. पायथन में सभी बिंदुओं को जोड़ने के लिए न्यूनतम लागत खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास बिंदु (x, y) के रूप में कुछ बिंदुओं के साथ बिंदु नामक एक सरणी है। अब दो बिंदुओं (xi, yi) और (xj, yj) को जोड़ने की लागत उनके बीच मैनहट्टन दूरी है, सूत्र है |xi - xj| + |yi - yj|। हमें सभी बिंदुओं को जोड़ने के लिए न्यूनतम लागत का पता लगाना होगा। इसलिए, यदि इनपुट पॉइंट्स की तरह

  1. पायथन में क्रमबद्ध क्रम में दी गई संख्या के सभी प्रमुख कारकों को खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास 1 से अधिक संख्या n है, तो हमें इसके सभी अभाज्य गुणनखंडों को खोजना होगा और उन्हें क्रमबद्ध क्रम में वापस करना होगा। हम किसी संख्या को अभाज्य संख्याओं के गुणनफल के रूप में लिख सकते हैं, वे उसके अभाज्य गुणनखंड हैं। और एक ही अभाज्य गुणक एक से अधिक बार हो सकता है। तो, अगर इनपुट 42

  1. सबस्ट्रिंग खोजें जिसमें पायथन में सभी स्वर हों

    मान लीजिए कि हमारे पास लोअरकेस अक्षरों में एक स्ट्रिंग है, हमें उन सबस्ट्रिंग्स को ढूंढना होगा जिनमें कम से कम एक बार सभी स्वर हों और उस सबस्ट्रिंग में कोई व्यंजन मौजूद न हो। इसलिए, यदि इनपुट helloworldaeiouaieuonicestring जैसा है, तो आउटपुट [aeiou, aeioua, aeiouai, aeiouaiu, eioua, eiouai, eiouaiu