Giả sử chúng ta có hai chuỗi s0 và s1, chúng đại diện cho một câu, chúng ta phải tìm số từ duy nhất được chia sẻ giữa hai câu này. Chúng ta phải lưu ý rằng, các từ không phân biệt chữ hoa chữ thường nên "tom" và "ToM" là cùng một từ.
Vì vậy, nếu đầu vào là s0 ="tôi thích mã hóa python", s1 ="viết mã bằng python thật dễ dàng", thì đầu vào sẽ là 2 vì có 2 từ phổ biến, ['python', 'coding']
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- chuyển s0 và s1 thành chữ thường
- s0List:=danh sách các từ trong s0
- s1List:=danh sách các từ trong s1
- chuyển đổi tập hợp từ các từ trong s0List và s1List, sau đó cắt chúng để nhận các từ phổ biến và trả về số lượng kết quả giao nhau.
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, s0, s1): s0 = s0.lower() s1 = s1.lower() s0List = s0.split(" ") s1List = s1.split(" ") return len(list(set(s0List)&set(s1List))) ob = Solution() S = "i love python coding" T = "coding in python is easy" print(ob.solve(S,T))
Đầu vào
"i love python coding", "coding in python is easy"
Đầu ra
2