Giả sử chúng ta có một chuỗi s và một số k khác, chúng ta phải kiểm tra xem chúng ta có thể tạo kpalindromes bằng cách sử dụng tất cả các ký tự trong s hay không.
Vì vậy, nếu đầu vào là s ="amledavmel" k =2, thì đầu ra sẽ là True, vì chúng ta có thể tạo "level" và "madam".
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau
-
d:=một bản đồ nơi lưu trữ từng ký tự duy nhất và tần suất của chúng
-
cnt:=0
-
cho mỗi phím trong d, thực hiện
-
nếu d [key] là số lẻ thì
-
cnt:=cnt + 1
-
-
nếu cnt> k thì
-
trả về Sai
-
-
-
trả về True
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn
Ví dụ
from collections import Counter class Solution: def solve(self, s, k): d = Counter(s) cnt = 0 for key in d: if d[key] & 1: cnt += 1 if cnt > k: return False return True ob = Solution() s = "amledavmel" k = 2 print(ob.solve(s, k))
Đầu vào
"amledavmel",2
Đầu ra
True