मान लीजिए हमारे पास लोअरकेस अल्फाबेट्स में एक स्ट्रिंग है, हमें वे सबस्ट्रिंग्स ढूंढने हैं जिनमें सभी स्वर कम से कम एक बार हों और उन सबस्ट्रिंग्स में कोई व्यंजन न हो।
तो, यदि इनपुट "helloworldaeiouaieuonicestring" जैसा है, तो आउटपुट ['aeiou', 'aeioua', 'aeiouai', 'aeiouaiu', 'eioua', 'eiouai', 'eiouaiu'] होगा।
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
n := s का आकार
i को 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