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

子串

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

求出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代表空串)

 

posted @   景池  阅读(3459)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示