Giả sử chúng ta có một chuỗi s có độ dài 2 và cũng có một danh sách các từ w trong đó tất cả các từ có độ dài 2. Chúng ta phải kiểm tra xem chúng ta có thể nối các từ từ w và chuỗi được nối đó có chứa s là chuỗi con hay không.
Vì vậy, nếu đầu vào là s ="no", w =["ol", "on", "ni", "to"], thì đầu ra sẽ là True vì chúng ta có thể nối các chuỗi như "onol", điều đó chứa "không"
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- n:=số từ trong w
- char_0:=Sai, char_1:=Sai
- đối với tôi trong phạm vi từ 0 đến n - 1, thực hiện
- nếu w [i] giống với s, thì
- trả về True
- nếu s [0] giống với w [i, 1] thì
- char_0:=True
- nếu s [1] giống với w [i, 0] thì
- char_1:=True
- nếu cả hai char_0 và char_1 đều đúng, thì
- trả về True
- nếu w [i] giống với s, thì
- trả về Sai
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
def solve(s, w): n = len(w) char_0 = False char_1 = False for i in range(n): if w[i] == s: return True if s[0] == w[i][1]: char_0 = True if s[1] == w[i][0]: char_1 = True if char_0 and char_1: return True return False s = "no" w = ["ol", "on", "ni", "to"] print(solve(s, w))
Đầu vào
"no", ["ol", "on", "ni", "to"]
Đầu ra
True