在 Python 中查找包含所有元音的子字符串

假设我们有一个小写字母的字符串,我们必须找到至少一次包含所有元音的子字符串,并且该子字符串中不存在辅音。

因此,如果输入类似于“helloworldaeiouaieuonicestring”,那么输出将是 ['aeiou', 'aeioua', 'aeiouai', 'aeiouaiu', 'eioua', 'eiouai', 'eiouaiu']

在线示例

让我们看看以下实现以获得更好的理解 -

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

猜你喜欢