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

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


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

इसलिए, यदि इनपुट "helloworldaeiouaieuonicestring" जैसा है, तो आउटपुट ['aeiou', 'aeioua', 'aeiouai', 'aeiouaiu', 'eioua', 'eiouai', 'eiouaiu']

होगा।

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

  • n :=s का आकार

  • मेरे लिए 0 से n की सीमा में, करें

    • my_map :=एक नया नक्शा

    • j के लिए i से n तक की श्रेणी में, करें

      • अगर s[j] स्वर नहीं है, तो

        • लूप से बाहर आएं

      • my_map[s[j]]:=1

      • अगर my_map का आकार 5 के समान है, तो

        • प्रदर्शन s [इंडेक्स i से j + 1 तक]

उदाहरण

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

def isVowel(x):
   if x in ['a','e','i','o','u']:
      return True
   return False
def get_substrings(s):
   n = len(s)
   for i in range(n):
      my_map = dict()
      for j in range(i, n):
         if (isVowel(s[j]) == False):
            break
         my_map[s[j]] = 1
         if (len(my_map) == 5):
            print(s[i:j + 1])
s = "helloworldaeiouaiunicestring"
get_substrings(s)

इनपुट

"helloworldaeiouaiunicestring"

आउटपुट

aeiou
aeioua
aeiouai
aeiouaiu
eioua
eiouai
eiouaiu

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

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

  1. पायथन में सूची में सभी तत्वों की गणना करें

    कई बार हमें कुछ डेटा प्रोसेसिंग के लिए सूची में मौजूद तत्वों की गणना करने की आवश्यकता होती है। लेकिन नेस्टेड सूचियों के मामले हो सकते हैं और गिनती सीधे आगे नहीं हो सकती है। इस लेख में हम देखेंगे कि किसी सूची में तत्वों की संख्या गिनने की इन जटिलताओं से कैसे निपटा जाए। फॉर लूप के साथ इस दृष्टिकोण मे

  1. पायथन में 0 से भरे सभी आयतों को खोजें

    मान लीजिए कि हमारे पास एक द्विआधारी 2D मैट्रिक्स है, अब हमें 0s से भरे सभी आयतों का प्रारंभिक बिंदु और समाप्ति बिंदु खोजना होगा। हमें यह ध्यान रखना होगा कि आयताकार अलग-अलग होते हैं और एक-दूसरे को स्पर्श नहीं करते हैं, हालांकि वे सरणी सीमा को छू सकते हैं। केवल एक तत्व वाला आयत भी संभव है। तो, अगर इन