Cho chuỗi s và số r. Sinh tất cả hoán vị (permutations) độ dài r từ các ký tự của s. Sử dụng itertools.permutations.
Ví dụ: s = "HELLO", r = 3 → list các chuỗi độ dài 3 (có trùng do 'L' xuất hiện 2 lần).
Ví dụ mã nguồn
from itertools import permutations
def solve(s, r):
vals = list(permutations(s, r))
res = [''.join(x) for x in vals]
return res
s = "HELLO"
r = 3
print(solve(s, r))
Đầu vào / Đầu ra
Input: "HELLO", 2
Output: ['HE', 'HL', 'HL', 'HO', 'EH', 'EL', 'EL', 'EO', 'LH', 'LL', 'LO', 'LE', 'LL', 'LE', 'LO', 'OH', 'OL', 'OL', 'OE']