试题
考点

数据结构-字符串-字符串匹配

面5笔5

若串S=′software′,其子串的数目是()

A.8

B.37

C.36

D.9

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

正确答案是 B

字串: n(n+1)/2 + 1
非空子串:n(n+1)/2
非空真子串:n(n+1)/2 - 1

评论

雨声敲敲

2018-10-13 11:16:48

0 0

碎梦不是梦碎

2018-10-13 11:16:16

0 0

落地98K

2018-10-13 11:15:37

0 0

浅色回忆

2020-11-01 10:04:55

  链接:https://www.nowcoder.com/questionTerminal/939250fe276340d798e136c997f8fe0c
来源:牛客网

答案】B
【解析】 字符串的子串,就是字符串中的某一个连续片段。截取一个字符串长度需要一个起始位置和结束位置。字符串“software”有8个字符,可是设置间隔的位置有9个,使用C(9,2)=36即可求得字符串“software”的所有子串。因为题目标明空串也是子串,故还需要加上1,总共37个子串。所以答案选B。

含有n个不同字符的字符串的非空子串的个数为C(n + 1, 2) = n * (n + 1) / 2 
子串(包括空串)为 n * (n + 1) / 2 + 1 
非空真子子串(不包括空串和跟自己一样的子串)为 n *(n + 1)/ 2 - 1

0 1

加载更多