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的末尾
  • 返回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']

更新於: 2021年10月25日

6K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告