#76. 【列表】统计连续字符

【列表】统计连续字符

题目描述

依次输入一个字符串 ss 与一个数字 nn,寻找字符串中所有连续出现至少 nn 次的字符,统计符合要求的字符数量并输出。

题目格式

输入

第一行一个字符串 ss。(保证有连续的 nn 个字符) 第二行一个整数 nn

输出

一个整数,代表符合要求的字符数量。

题目样例

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)