子串——求出一個字符串的子串數目


子串

定義:串中任意個連續的字符組成的子序列稱為該串的子串

求出adereegfbw”子串的數目?

空串是所有串的字串,所以當字串長度為0時,字串為空串。

字串長度為0: 

  空串 (1)

字串長度為1

  adereegfbw   (10)

字串長度為2

  addeerreeeeggffbbw (9)

字串長度為3

  adedererereeeegegfgfbfbw (8)

字串長度為4

  aderdereereereegeegfegfbgfbw (7)

字串長度為5

  aderedereeereegreegfeegfbegfbw (6)

字串長度為6

  adereedereegereegfreegfbeegfbw (5)

字串長度為7

  adereegdereegfereegfbreegfbw (4)

字串長度為8

  adereegfdereegfbereegfbw (3)

字串長度為9

  adereegfbdereegfbw (2)

字串長度為10

  adereegfbw (1)

因此

  “adereegfbw”含有重復子串的子串數目為1+10+9+8+7+6+5+4+3+2+1=56

 

通過觀察,可得

  最小字串=空串

  最大字串=其本身

  如果一個字串的長度或字符個數為n,那么子串數目=n(n+1)/2+1 (最后1代表空串)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM