#76. 【列表】统计连续字符
【列表】统计连续字符
题目描述
依次输入一个字符串 与一个数字 ,寻找字符串中所有连续出现至少 次的字符,统计符合要求的字符数量并输出。
题目格式
输入
第一行一个字符串 。(保证有连续的 个字符) 第二行一个整数 。
输出
一个整数,代表符合要求的字符数量。
题目样例
abbcccdddd
2
3
提示解释
输入的字符串abbcccdddd
和整数 2
,代表求字符串中连续出现2
次的字符包括b、c、d
,所以结果是3
种。
代码模板
1、求连续字符的方式:双指针判断 + 字典记录
s = input()
n = int(input())
# 双指针算法用来统计连续字符的数量
k = 1
last = ''
curr = 0
counter = {} # 字典用来记录每种字符的数量:存在,则更新;不存在,则新建。
while curr < len(s):
if s[curr] == last:
k += 1
counter[s[curr]] = k # 出现一次记录一次
else:
k = 1
counter[s[curr]] = k # 出现一次记录一次
last = s[curr]
curr += 1
c = 0 # 用来统计符合要求的字符的个数
for k, v in counter.items():
if v >= n:
c += 1
print(c)