在Python中查詢包含所有母音的子字串
假設我們有一個小寫字母字串,我們需要找到至少包含所有母音一次且不包含任何子音的子字串。
因此,如果輸入類似於“helloworldaeiouaieuonicestring”,則輸出將為['aeiou', 'aeioua', 'aeiouai', 'aeiouaiu', 'eioua', 'eiouai', 'eiouaiu']
為了解決這個問題,我們將遵循以下步驟:
n := s的大小
對於範圍從0到n的i,執行:
my_map := 一個新的對映
對於範圍從i到n的j,執行:
如果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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP