Giả sử chúng ta có một chuỗi S (tất cả các chữ cái đều là chữ thường), chúng ta phải tìm tổng số tất cả các chuỗi con có độ dài bốn mà các ký tự có thể được sắp xếp lại để tạo thành từ này "chim".
Vì vậy, nếu đầu vào là "birdb", thì đầu ra sẽ là 2.
Để 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 - 3, hãy thực hiện
-
bird:=một mảng với [0, 0, 0, 0]
-
đối với j trong phạm vi i đến i + 4, thực hiện
-
nếu s [j] giống với 'b' thì
-
chim [0]:=chim [0] + 1
-
-
ngược lại khi s [j] giống với 'i' thì
-
chim [1]:=chim [1] + 1
-
-
ngược lại khi s [j] giống với 'r' thì
-
chim [2]:=chim [2] + 1
-
-
ngược lại khi s [j] giống với 'd' thì
-
chim [3]:=chim [3] + 1
-
-
nếu con chim giống với [1,1,1,1], thì
-
cnt:=cnt + 1
-
-
-
-
trả lại cnt
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
def number_of_occurrence(s): cnt = 0 for i in range(0, 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