Giả sử chúng ta có một chuỗi s và một chuỗi con t. Chúng ta phải đếm xem t xảy ra bao nhiêu lần trong s.
Vì vậy, nếu đầu vào là s ="abaabcaabababaab", t ="aab", thì đầu ra sẽ là 3 vì các chuỗi con là ab (aab) c (aab) abab (aab).
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- cnt:=0
- đối với tôi trong phạm vi từ 0 đến (kích thước của s - kích thước của t), thực hiện
- nếu chuỗi con của s [từ chỉ số i đến i + kích thước của t - 1] giống với t, thì
- cnt:=cnt + 1
- nếu chuỗi con của s [từ chỉ số i đến i + kích thước của t - 1] giống với t, thì
- trả về cnt
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): cnt = 0 for i in range(0, len(s) - len(t) + 1): if s[i:i + len(t)] == t: cnt = cnt + 1 return cnt s = "abaabcaabababaab" t = "aab" print(solve(s, t))
Đầu vào
"abaabcaabababaab", "aab"
Đầu ra
3