Python程式:查詢給定字串s的所有字母組合
假設我們有一個字串s。我們需要找到s的所有可能的字母組合。如果存在兩個字元集相同的字串,則顯示其中字典序最小的那個。並且有一個約束條件,即s中的每個字元都是唯一的。
所以,如果輸入類似s = "pqr",則輸出將是['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']
為了解決這個問題,我們將遵循以下步驟:
- st_arr := 一個新的列表
- 對於i從s的大小-1到0,遞減1,執行:
- 對於j從0到st_arr的大小-1,執行:
- 將(s[i]連線st_arr[j])插入到st_arr的末尾
- 將s[i]插入到st_arr的末尾
- 對於j從0到st_arr的大小-1,執行:
- 返回st_arr
示例
讓我們看看以下實現,以便更好地理解:
def solve(s): st_arr = [] for i in range(len(s)-1,-1,-1): for j in range(len(st_arr)): st_arr.append(s[i]+st_arr[j]) st_arr.append(s[i]) return st_arr s = "pqr" print(solve(s))
輸入
"pqr"
輸出
['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']
廣告