สมมติว่ามีประโยค s และ t ต้องตรวจสอบว่าคล้ายกันหรือไม่ สองประโยคคล้ายกันเมื่อสามารถเพิ่มประโยคอะไรก็ได้ (อาจว่าง) ลงในประโยคหนึ่ง ทำให้ทั้งสองเหมือนกัน
ตัวอย่าง: s = "we live at city Kolkata", t = "city Kolkata" ผลลัพธ์ True เพราะเพิ่ม "we live at" เข้า t ได้ s
วิธีแก้ปัญหา
s1 := s.split(),s2 := t.split()- ถ้า
len(s1) > len(s2)สลับกัน - วนลูป
while s1:- ถ้า
s2[0] == s1[0]: ลบคำแรกทั้งคู่ - มิฉะนั้นถ้า
s2[-1] == s1[-1]: ลบคำสุดท้ายทั้งคู่ - มิฉะนั้น: คืน
False
- ถ้า
- คืน
True
ตัวอย่างโค้ด
def solve(s, t):
s1 = s.split()
s2 = t.split()
if len(s1) > len(s2):
s1, s2 = s2, s1
while s1:
if s2[0] == s1[0]:
s2.pop(0)
s1.pop(0)
elif s2[-1] == s1[-1]:
s2.pop()
s1.pop()
else:
return False
return True
s = "we live at city Kolkata"
t = "city Kolkata"
print(solve(s, t))
อินพุต
"we live at city Kolkata", "city Kolkata"
เอาต์พุต
True