假设我们有一个小写字母的字符串,我们必须找到至少一次包含所有元音的子字符串,并且该子字符串中不存在辅音。
因此,如果输入类似于“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