子串和子序列

时间:2014-03-26 13:13:42

标签: string combinatorics

在长度为n的字符串中,我可以拥有多少个子字符串和子序列...即使通过从s中删除任何前缀和任何后缀来获得子字符串,而子序列是任何子字符串通过删除零或更多不必要的s的连续位置而形成的字符串。

1 个答案:

答案 0 :(得分:0)

假设你没有忽略重复:

子字符串= n(n + 1)/ 2

计算1个长度子串的数量= n
计算2个长度子串的数量= n-1
计算3个长度子串的数量= n-2
....
计算n个长度子串的数量= n - (n-1)= 1

概括为从1到n的数字序列的总和。

子序列= 2 ^ n

将字符串视为位数组。要么包含子序列中的字符,要么不包括。有2 ^ n种组合。