提问人:Akash Anand 提问时间:9/28/2023 最后编辑:PaulMcKenzieAkash Anand 更新时间:9/28/2023 访问量:93
查找此字符串中以不同字符开头和结尾的子字符串数
Find the number of substrings of this string that start and end with different characters
答:
2赞
MBo
9/28/2023
#1
字符串的可能有长度的子字符串(包括长度为 1 的子字符串)P=n*(n+1)/2
n
字符串中每个不同字符的查找计数。
banana => {'b':1; 'a':3; 'n':2}
如果某些字符出现,则有以该字符开头和结尾的子字符串(再次包括 1 长度的子字符串!) - 因此我们必须从整体中减去此数量。
对其他字符重复上述步骤。c
k
k*(k+1)/2
c
P
21 - 1 -6 - 3 = 11
如果子字符串长度应该为 >=2,那么我们必须使用 和 公式P=n*(n-1)/2
k*(k-1)/2
15 -0 -3 -1 = 11
令人惊讶的是,结果是一样的;)
评论
0赞
MBo
10/11/2023
@AkashAnand 我的答案还不清楚吗?
评论
My solution is not optimised
- 尽管如此,还是值得描述的dsa
dsa
Digital Signature Algorithm