子串——求出一个字符串的子串数目


子串

定义:串中任意个连续的字符组成的子序列称为该串的子串

求出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