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
- nếu A [i] không giống B [i], thì
- 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