Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra xem chúng ta có thể tạo k palindromes từ các ký tự chuỗi đã cho hay không trong Python?

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