สมมติว่าเรามีสตริง s0 และ s1 สองสตริง แทนประโยค เราต้องหาจำนวนคำที่ไม่ซ้ำกันซึ่งใช้ร่วมกันระหว่างสองประโยคนี้ เราต้องจำไว้ว่า คำไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ดังนั้น "tom" และ "ToM" จึงเป็นคำเดียวกัน
ดังนั้น หากอินพุตเป็น s0 ="ฉันชอบการเข้ารหัส python", s1 ="การเข้ารหัสใน python นั้นง่าย" ดังนั้นผลลัพธ์จะเป็น 2 เนื่องจากมีคำทั่วไป 2 คำ ได้แก่ ['python', 'coding']
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- แปลง s0 และ s1 เป็นตัวพิมพ์เล็ก
- s0List :=รายการคำศัพท์ใน s0
- s1List :=รายการคำศัพท์ใน s1
- แปลงชุดจากคำใน s0List และ s1List จากนั้นตัดกันเพื่อรับคำทั่วไป และคืนค่าจำนวนผลลัพธ์ของการแยก
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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))
อินพุต
"i love python coding", "coding in python is easy"
ผลลัพธ์
2