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']
广告