刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

设 S 是一个长度为 n 的非空字符串,其中的字符各不相同,则其互异的非平凡子串(非空且不同于 S 本身〉的个数(41)。


A
2n-l 
B
n2 
C
 n(n+l)/2 
D
(n+2)(n-l)/2
使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

该问题可以通过计算不同长度子串的数量来解决。对于长度为n的字符串S,其非平凡子串的数量等于各种长度子串数量的总和。设字符串S中有n个字符,那么其非平凡子串包括长度为1的子串、长度为2的子串、…、长度为n-1的子串以及长度为n的子串(除去空串和等于字符串本身的串)。对于长度为k的子串(其中k从1到n-1),有n-k+1个这样的子串(滑动窗口法)。因此,总的非平凡子串的数量为Σ(n-k+1)(从k=1到n-1)。根据等差数列求和公式,可以计算出总和为(n+2)(n-l)/2。因此,正确答案为D。

创作类型:
原创

本文链接:设 S 是一个长度为 n 的非空字符串,其中的字符各不相同,则其互异的非平凡子串(非空且不同于 S

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share