Cho chuỗi S (chữ thường), đếm số chuỗi con độ dài 4 mà các ký tự có thể sắp xếp thành từ "bird".
Ví dụ: "birdb" → 2 (chỉ số 0-3: "bird", chỉ số 1-4: "irdb").
Giải thuật
- Duyệt qua mọi vị trí i từ 0 đến len(s)-4.
- Đếm tần suất 4 ký tự 'b','i','r','d' trong s[i:i+4].
- Nếu mỗi ký tự xuất hiện đúng 1 lần → tăng bộ đếm.
Ví dụ
def number_of_occurrence(s):
cnt = 0
for i in range(len(s) - 3):
bird = [0, 0, 0, 0]
for j in range(i, i + 4):
if s[j] == 'b': bird[0] += 1
elif s[j] == 'i': bird[1] += 1
elif s[j] == 'r': bird[2] += 1
elif s[j] == 'd': bird[3] += 1
if bird == [1, 1, 1, 1]:
cnt += 1
return cnt
s = "birdb"
print(number_of_occurrence(s))Đầu vào
"birdb"
Đầu ra
2