首页 > 试题广场 >

n个字符组成了一个字符串:若每个字符都不一样,则该字符串共有

[单选题]
n个字符组成了一个字符串:若每个字符都不一样,则该字符串共有多少个不同的非空子
  • n
  • n (n+1)/2
  • n!
  • 2^n-1
推荐
答案为D
注意这个题目求的是子集,子集为字符串里面的字符即可不用连续。因此把 n个不同的字符当成一个集合,根据集合的相关概念可知 如果一个集合的元素有n个,那么它的子集有2的n次方个(注意空集的存在),.非空子集有2的n次方减1个,真子集有2的n次方减1个,非空真子集有2的n次方减2个。 
还有一种解决方法为    n个字符,n个位置,每个位置的字符都有两种情况:存在或不存在,所有总共有2^n,在减去每个位置都没有字符的情况所以是2^n-1。

多说一句如果题目最后要求的是子串,(字串的定义为串中任意个连续的字符组成的子序列)。因此 字符串的长度为n,则子串的个数就是[n+(n-1)+.......+1]个 数学推导为n(n+1)/2  如果要算上空串应该为n(n+1)/2+1  
最后肯定是子集>=子串
编辑于 2015-10-16 23:53:23 回复(1)
n个字符,n个位置,每个位置的字符都有两种情况,存在或不存在,所有总共有2^n,在减去每个位置都没有字符的情况所以是2^n-1
发表于 2015-10-16 14:26:39 回复(1)
特例法。比如n=3,即可求解,选择题就是有技巧性而言的,不要傻算。
发表于 2016-08-01 13:55:25 回复(0)
公式:Cn 0 +Cn1+...+Cn n=2^n
发表于 2016-09-22 18:40:50 回复(0)
没劲
发表于 2016-06-26 17:08:47 回复(0)
注意子集和子串的区别。。。
发表于 2015-10-17 12:43:25 回复(0)
每个字符都有两种可能:有和没有,再减去一个空集,就是2^n-1
发表于 2021-02-11 09:20:53 回复(0)
注意看清不是要组成长度为n的字符串的种树。。。
发表于 2019-07-27 16:25:52 回复(0)
审题,区分子串和子集
发表于 2018-11-08 15:13:47 回复(0)
弱弱的问一句,“ab”跟“ba”一样吗???这个顺序不一样啊。也算一个字符串???
发表于 2016-09-09 17:12:02 回复(0)
我靠 按子串算的 坑
发表于 2016-08-10 17:49:18 回复(0)