Giả sử chúng ta có hai câu s và t. Chúng ta phải kiểm tra xem chúng có giống nhau hay không. Ở đây câu chỉ có các chữ cái tiếng Anh. Hai câu được cho là giống nhau khi có thể thêm một câu tùy ý (có thể trống) vào bên trong một trong các câu đã cho này để hai câu trở nên bằng nhau.
Vì vậy, nếu đầu vào là s ="we live at city Kolkata" t ="city Kolkata", thì đầu ra sẽ là True vì chúng ta có thể lấy s từ t bằng cách thêm câu "we live in".
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
s1:=danh sách các từ trong s
-
s2:=danh sách các từ trong t
-
nếu kích thước của s1> kích thước của s2, thì
-
hoán đổi s1 và s2
-
-
trong khi s1 không trống, thực hiện
-
nếu s2 [0] giống s1 [0] thì
-
xóa từ đầu tiên khỏi s2
-
xóa từ đầu tiên khỏi s1
-
-
ngược lại khi từ cuối cùng của s2 giống với từ cuối cùng của s1 thì
-
xóa từ cuối cùng khỏi s2
-
xóa từ cuối cùng khỏi s1
-
-
nếu không,
-
trả về false
-
-
-
trả về true
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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))
Đầu vào
"we live at city Kolkata", "city Kolkata"
Đầu ra
True