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