Tìm tất cả các chuỗi con (substring) có độ dài N trong chuỗi gốc mà chứa đúng K ký tự phân biệt. Duyệt qua các vị trí bắt đầu, dùng set() để đếm ký tự duy nhất.
Ví dụ
Minh họa:
my_string = 'Pythonisfun'
print("Chuỗi:", my_string)
my_substring = 2
my_chars = 2
my_result = []
for idx in range(0, len(my_string) - my_substring + 1):
if len(set(my_string[idx: idx + my_substring])) == my_chars:
my_result.append(my_string[idx: idx + my_substring])
print("Kết quả:", my_result)
Kết quả
Chuỗi: Pythonisfun Kết quả: ['Py', 'yt', 'th', 'ho', 'on', 'ni', 'is', 'sf', 'fu', 'un']
Giải thích
- Định nghĩa độ dài chuỗi con N và số ký tự phân biệt K.
- Duyệt index từ 0 đến len - N.
- Lấy substring
my_string[idx:idx+N], chuyển thành set, kiểm tra độ dài set == K. - Nếu đúng, thêm vào kết quả.