Trong bài viết này, chúng ta sẽ tìm hiểu giải pháp cho bài toán sau:
Đề bài – Cho một chuỗi, cần hiển thị tất cả các hoán vị (permutation) có thể của chuỗi đó.
Hãy quan sát giải pháp trong triển khai dưới đây:
Ví dụ
# chuyển list sang chuỗi
def toString(List):
return ''.join(List)
# hoán vị
def permute(a, l, r):
if l == r:
print(toString(a))
else:
for i in range(l, r + 1):
a[l], a[i] = a[i], a[l]
permute(a, l + 1, r)
a[l], a[i] = a[i], a[l] # backtracking
# main
string = "TUT"
n = len(string)
a = list(string)
print("Các hoán vị có thể:", end="\n")
permute(a, 0, n-1)
Kết quả
Các hoán vị có thể: TUT TTU UTT UTT TUT TTU
Kết luận
Trong bài này, chúng ta đã học cách làm chương trình Python in tất cả hoán vị của một chuỗi cho trước.