สมมติว่าเรามีสตริง S (ตัวพิมพ์เล็ก) ต้องการนับสตริงย่อยยาว 4 ตัวอักษร ที่จัดเรียงตัวอักษรแล้วได้คำว่า "bird"
เช่น "birdb" ผลลัพธ์คือ 2 (สตริงย่อย "bird" และ "irdb")
ขั้นตอนการแก้ปัญหา
- วนลูป i จาก 0 ถึง len(s)-4
- นับตัวอักษร b, i, r, d ในสตริงย่อย 4 ตัวอักษร
- ถ้ามีครบ 1 ตัวแต่ละตัว เพิ่มนับ
ตัวอย่างโค้ด Python
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))
อินพุต
"birdb"
เอาต์พุต
2