首页 > 试题广场 >

字符串 "www.qq.com" 所有非空子串(两个子串如果

[单选题]
字符串"www.qq.com"所有非空子串(两个子串如果内容相同则只算一个)个数是()
  • 1024
  • 1018
  • 55
  • 50
推荐
D

总的子串个数为 10+9+8+7+。。+1 = 55

其中w(两次), ww, q, ., 有重复

55 - 5 = 50
编辑于 2015-02-04 10:37:00 回复(1)
非空子串的个数共有n(n+1)/2=55个,由于相同子串算一个,所以要减去2个w,一个.,一个ww,一个q,所以还有50个
发表于 2015-07-06 15:20:10 回复(0)
要求的是子串,从左到右一次截取, 10个字符的子串,1个; 9个字符的子串,2个; 8----------------------3 7----------------------4 ......... 1----------------------10 共有:1+2+3+...+10=10*(10+1)/2=55 减去重复的: 1个字符时有3个w,2个q,2个. 2个字符时有2个ww 故应减去:(2+1+1+1)=5 答案:55-5=50
发表于 2015-08-31 00:22:39 回复(1)
注意两个概念:子串与子序列。
子串是从原字符串中连续截取得到的;而子序列则不要求连续,即可以是离散截取的。
如果求的是子序列,那么答案是B. 1018。具体计算是: 2^10 = 1024 个子序列,减去空串1个为1023,再减去子序列长度为1时重复的2个w和1个q为1020,最后再减去子序列长度为2时重复的2个ww,只剩下1018个不重复的子序列。
现在求的是子串,则只有 1 + 2 + 3 + ... + 10 = 55 个,减去重复的两次w,一次q,一次.,一次ww,只剩下 50 个不重复的。
选D。
发表于 2016-03-22 21:29:46 回复(7)
正确答案D。
子串总数:10+9+8+.....+1=55
以第一个w开头的子串:w,ww,www
以第二个w开头的子串:w,ww
以第三个w开头的子串:w
以第一个q开头的子串:q,qq
以第二个q开头的子串:q
以第一个.开头的子串:.
以第一个.开头的子串:.
重复子串数:5
答案:55-5=50

发表于 2017-03-06 15:56:00 回复(0)
排除法,<55
发表于 2019-08-28 22:55:06 回复(0)
现在求的是子串,则只有 1 + 2 + 3 + ... + 10 = 55 个,减去重复的两次w,一次q,一次.,一次ww,只剩下 50 个不重复的。
发表于 2022-01-17 16:29:27 回复(1)
n代表字符串的长度,非空字串的种类数:n*(n+1)/2,这里的n=10,即10*(10+1)/2=55.题目中提到了非相同的个数。字符串中只要有相同的字符都将会存在相同字串。不是连续相同的字符,在字串字串中会有单个字符的字串的重复,即重复的为m(单个相同字符的个数)-1,在本题目中的.存在两个即m=2,存在重复的的为m-1=1。然而连续的相同字符则n*(n-1)/2.这里的www将存在相同的字串3*(3-1)/=3,qq则存在2*(2-1)/2=1,最终存在非空、非重复的子字符串的个为:55-1-3-1=50。可能存在相同的字符,一部分连续、一部分和连续的分开,例如##-ABC#D这种,在这里可以先计算连续的,然后再来把连续的当作一个字符,再计算分开的相同字符的个数即可。
发表于 2017-05-29 00:13:56 回复(0)
非空子串的个数公式 n(n+1)/2=55个,由于相同子串算一个,所以要减去2个w,一个.,一个ww,一个q,所以还有50个
编辑于 2019-10-09 23:34:51 回复(0)
字符串www.qq.com所有非空子串(两个子串如果内容相同则只算一个)个数是50
非空子串的个数共有n(n+1)/2=55个,由于相同子串算一个,所以要减去2个w,一个.,一个ww,一个q,所以还有50个。
要求的是子串,从左到右一次截取, 10个字符的子串,1个; 9个字符的子串,2个; 8--------3个, 7---------4个, ......... 1-----------10个 共有:1+2+3+...+10=10*(10+1)/2=55 减去重复的: 1个字符时有3个w,2个q,2个. 2个字符时有2个ww 故应减去:(2+1+1+1)=5 答案:55-5=50。

发表于 2016-12-14 13:51:38 回复(0)
选出的字符串是连续的
发表于 2015-09-01 10:44:35 回复(0)
有谁点进去了出不来了
发表于 2022-09-02 15:50:55 回复(1)
总的子串个数为 10+9+8+7+。。+1 = 55 其中w(两次), ww, q, ., 有重复 55 - 5 = 50
发表于 2016-03-09 09:28:28 回复(0)
类似于一根黄瓜可以切成多少段。规定这根黄瓜有11个下刀的地方,即11个字符间隙,那么总共有C(11,2)=11*10/2=55种下刀方法。减去重复的5种就是50种了。
发表于 2015-12-22 11:02:40 回复(0)
非空字符串的数量n(n+1)/2 =11*10/2
发表于 2023-11-08 06:12:04 回复(1)
字符串的字串包括空串和自身
发表于 2022-08-26 12:18:10 回复(0)
长度为1的子串总数:10,去除2个重复的w,1个重复的.,1个重复的q
长度为2的子串总数:9,去除1个重复的ww
长度为3的子串总数:8
长度为4的子串总数:7
...
长度为10的子串总数:1

所以所有非空不重复子串的个数为(10+9+..+1) - 2 - 1 - 1 = 10*11/2 -5 = 50
发表于 2022-08-11 21:17:13 回复(0)
求子串个数的公式为n(n+1)/2,如果有重复字符,则需按情况做减法
发表于 2022-08-10 10:37:12 回复(0)
没注意到要连续
发表于 2022-04-12 15:41:55 回复(0)
开心的做完发现忘了减去重复!
发表于 2020-11-18 21:17:27 回复(0)
一个字符串的非空子串的个数为n(n+1)/2 去掉重复子串 ①w ②w ③ww ④q ⑤. 所以答案55-5=50
发表于 2019-04-08 10:30:54 回复(0)