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