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

Chuỗi Buddy bằng Python

Giả sử chúng ta có hai chuỗi A và B gồm các chữ cái viết thường; chúng ta phải kiểm tra xem chúng ta có thể hoán đổi hai chữ cái trong A để kết quả bằng B hay không.

Vì vậy, nếu đầu vào là A ="ba", B ="ab", 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 -

  • nếu kích thước của A không giống với kích thước của B, thì
    • trả về Sai
  • ngược lại khi A và B có bất kỳ phần tử nào không chung thì
    • trả về Sai
  • ngược lại khi A giống B và tất cả các ký tự khác nhau trong A thì
    • trả về Sai
  • nếu không,
    • số lượng:=0
  • đối với tôi trong phạm vi từ 0 đến kích thước là A, thực hiện
    • nếu A [i] không giống B [i], thì
      • count:=count + 1
      • nếu số đếm giống như 3, 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 buddyStrings(self, A, B):
      if len(A)!=len(B):
         return False
      elif sorted(A)!=sorted(B):
         return False
      elif A==B and len(set(A))==len(A):
         return False
      else:
         count=0
         for i in range(len(A)):
            if A[i]!=B[i]:
               count+=1
               if count==3:
                  return False
         return True
ob = Solution()
print(ob.buddyStrings("ba","ab"))

Đầu vào

"ba","ab"

Đầu ra

True