字符串的非空子串个数
时间: 2023-08-21 18:06:28 浏览: 282
快速求一个字符串的非空子串(不相同)的数量
5星 · 资源好评率100%
对于一个长度为n的字符串,它的非空子串个数为 $C_n^1+C_n^2+...+C_n^{n-1}$,即从中选择1个字符的子串数目 + 从中选择2个字符的子串数目 + ... + 从中选择n-1个字符的子串数目。
可以用以下代码实现:
```python
def count_substrings(s):
n = len(s)
res = 0
for i in range(1, n+1):
res += n - i + 1
return res
s = 'abcde'
print(count_substrings(s)) # 输出 15
```
阅读全文