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

Lập trình để hai chuỗi có cùng độ dài bằng nhau bằng cách hoán đổi các ký tự trong Python

Giả sử chúng ta có hai chuỗi s và t có độ dài n. Chúng ta có thể lấy 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 số lần hoán đổi không giới hạn; chúng ta phải kiểm tra xem liệu có khả thi để làm cho hai chuỗi bằng nhau hay không.

Vì vậy, nếu đầu vào là s =​​"xy", t ="yx", 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 -

  • st:=sắp xếp chuỗi sau khi nối s và t
  • đối với tôi trong phạm vi từ 0 đến kích thước là st - 1, tăng thêm 2, thực hiện
    • nếu st [i] không giống với st [i + 1], 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ụ

class Solution:
   def solve(self, s, t):
      st=sorted(s+t)
      for i in range(0,len(st),2):
         if st[i]!=st[i+1]:
            return False
      return True
ob = Solution()
print(ob.solve("xy", "yx"))

Đầu vào

"xy", "yx"

Đầu ra

True