ABB 字符串 提示信息: ABB 形式的字符串:是由 3 个字符组成,其中后两个字符相同,第一个字符与后两个字符不同。 如:"cbb"、"q22"、"688" 都是 ABB 形式的字符串;"abc"、"wwe"、"pop" 都不是 ABB 形式的字符串。 子串:是指一个字符串中连续的一段字符序列。 如:字符串 "HelloWorld!" 中,"Hello"、"ello"、"World"、"or" 都是该字符串的子串。 编程实现: 给定一个字符串 S,请统计 S 中有多少个 ABB 形式的子串,以及多少种 ABB 形式的子串。 例如:S = "nnnseebbetoosee",ABB 形式的子串有 see、ebb、too、see,共 4 个;ABB 形式的不同子串有 see、ebb、too,共 3 种。 输入描述: 输入一个长度不超过 100 的字符串 S 输出描述: 输出两个整数,分别表示 S 中有多少个 ABB 形式的子串,以及多少种 ABB 形式的子串,整数之间以一个空格隔开 样例输入: nnnseebbetoosee 样例输出: 4 3
正确答案:参考程序(Python):S=input();tot=0;st=set();for i in range(len(S)-2):sub=S[i:i+3];if sub[1]==sub[2] and sub[0]!=sub[1]:tot+=1;st.add(sub);print(tot,len(st))。样例→4 3。核心:ABB子串计数。
试卷来源:202403(第15届)蓝桥杯Python编程青少组(选拔赛_中/高级)真题