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

Chương trình kiểm tra hai chuỗi có thể bằng nhau bằng cách hoán đổi các ký tự hay không trong Python

Giả sử chúng ta có hai chuỗi chữ thường s và t, chúng có cùng độ dài. Chúng ta có thể chọn một ký tự từ s và ký tự khác từ t và hoán đổi chúng. Chúng tôi có thể thực hiện thao tác này bất kỳ số lần nào chúng tôi muốn. Cuối cùng, chúng ta phải kiểm tra xem có thể tạo hai chuỗi giống nhau hay không.

Vì vậy, nếu đầu vào là s =​​"abcd" t ="cdab", thì đầu ra sẽ là True

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • fre:=một danh sách chứa các tần số của từng phần tử có trong chuỗi s và t được nối với nhau
  • đối với mỗi cnt trong danh sách tất cả các giá trị của fre, do
    • nếu cnt mod 2 là 1, thì
      • trả về Sai
  • trả về True

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

from collections import Counter
def solve(s, t):
   fre = Counter(s+t)

   for cnt in fre.values():
      if cnt % 2:
         return False

   return True

s = "abcd"
t = "cdab"
print(solve(s, t))

Đầu vào

"abcd", "cdab"

Đầu ra

True