You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

字符串中非相邻相同字符分组的出现次数统计实现需求

连续相邻字符分组计数实现

需求说明

对输入字符串的字符按连续相邻规则分组计数,相同字符如果不相邻则拆分到不同分组单独统计。

示例

  • 输入:'aabbcdab'
  • 预期输出:
a:2
b:2
c:1
d:1
a:1
b:1

实现方案(Python)

核心逻辑

  1. 先处理空字符串的边界场景,避免运行报错
  2. 初始化当前统计的字符为字符串第一个字符,计数初始值为1
  3. 从字符串第二个字符开始遍历:
    • 若当前遍历字符和正在统计的字符一致,计数+1
    • 若不一致,将当前统计的字符和计数存入结果,重置当前统计字符为遍历到的新字符,计数归1
  4. 遍历结束后,将最后一组的统计结果补充到结果里

代码实现

def count_consecutive_groups(input_str):
    if not input_str:
        return []
    result = []
    current_char = input_str[0]
    current_cnt = 1
    for c in input_str[1:]:
        if c == current_char:
            current_cnt += 1
        else:
            result.append(f"{current_char}:{current_cnt}")
            current_char = c
            current_cnt = 1
    # 追加最后一组统计结果
    result.append(f"{current_char}:{current_cnt}")
    return result

# 测试运行
if __name__ == "__main__":
    test_input = 'aabbcdab'
    res = count_consecutive_groups(test_input)
    for line in res:
        print(line)

运行上述代码即可得到和示例完全一致的输出结果。

内容的提问来源于stack exchange,提问作者Pradeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:15:03