Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python นับจำนวนสตริงย่อยที่มีอยู่ใน string


สมมติว่าเรามีสตริง s และสตริงย่อย t เราต้องนับว่า t เกิดขึ้นกี่ครั้งใน s

ดังนั้น หากอินพุตเป็น s ="abaabcaabababaab", t ="aab" ผลลัพธ์จะเป็น 3 เนื่องจากสตริงย่อยคือ ab(aab)c(aab)aab(aab)

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • cnt :=0
  • สำหรับ i ในช่วง 0 ถึง (ขนาด s - ขนาด t) ทำ
    • หากสตริงย่อยของ s[จากดัชนี i ถึง i + ขนาดของ t - 1] เหมือนกับ t แล้ว
      • cnt :=cnt + 1
  • คืนสินค้า

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

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))

อินพุต

"abaabcaabababaab", "aab"

ผลลัพธ์

3