刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

ABB形式的字符串:是由3个字符组成,其中后两个字符相同,第一个字符与后两个字符不同。

如:"cbb"、"q22"、"688"都是 ABB 形式的字符串;

   "abc"、"wwe"、"pop"都不是 ABB 形式的字符串。

子串:是指一个字符串中连续的一段字符序列。

如:字符串“Hello,World!"

中,"Hello"、"ello"、"World"、"or"都是该字符串的子串。

编程实现:

给定一个字符串S,请统计S中有多少个ABB形式的子串, 以及多少种ABB形式的子串。

例如:S=“nnnseebbetoosee”,ABB形式的子串有see、 ebb、too、see,共4个;不同子串有see、ebb、too,共3种。

输入描述

输入一个长度不超过100的字符串S

输出描述

输出两个整数,分别表示S中有多少个ABB形式的子串,以及多少种ABB形式的子串,整数之间以一个空格隔开


样例输入

nnnseebbetoosee

样例输出

4 3

使用微信搜索喵呜刷题,轻松应对考试!

答案:

4 3

解析:

【喵呜刷题小喵解析】:
这道题目要求统计给定字符串S中有多少个ABB形式的子串,以及多少种ABB形式的子串。

首先,我们需要明确什么是ABB形式的字符串。ABB形式的字符串是由3个字符组成,其中后两个字符相同,第一个字符与后两个字符不同。例如,"cbb"、"q22"、"688"都是ABB形式的字符串。

接下来,我们需要遍历字符串S,找到所有满足ABB形式的子串。我们可以使用滑动窗口的方法,固定窗口大小为3,然后遍历字符串S,找到所有满足条件的子串。

具体实现步骤如下:

1. 初始化计数器count和set,分别用于统计ABB形式的子串个数和不同子串的种数。
2. 遍历字符串S,对于每个位置i,以i为起始位置,向右扩展长度为3的子串。
3. 判断子串是否满足ABB形式,即第一个字符与后两个字符不同,后两个字符相同。
4. 如果满足条件,将子串添加到set中,并增加count的计数。
5. 返回count和set的大小。

对于输入字符串"nnnseebbetoosee",我们可以按照上述步骤进行统计。最终得到的结果为:4个ABB形式的子串,3种不同的子串。
创作类型:
原创

本文链接:ABB形式的字符串:是由3个字符组成,其中后两个字符相同,第一个字符与后两个字符不同。 如:"cbb

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share