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

如何检查字符串中各字符的重复次数是否相等

检查字符串中所有字符的出现次数是否相等

核心思路

要判断字符串里每个字符的重复次数是否一致,核心两步走:

  1. 统计每个字符在字符串中的出现频率
  2. 验证所有频率值是否完全相同

实现方案(Python)

方案一:用内置工具快速实现

借助collections.Counter快速统计字符频率,再通过集合去重特性判断频率是否一致:

from collections import Counter

def check_equal_char_counts(s):
    if not s:  # 空字符串可根据需求调整返回值,这里默认返回True
        return True
    char_counts = Counter(s).values()
    # 集合长度为1说明所有频率都相同
    return len(set(char_counts)) == 1

# 测试示例
print(check_equal_char_counts("abaababb"))  # 输出 True
print(check_equal_char_counts("addda"))     # 输出 False

方案二:手动统计(适合理解底层逻辑)

如果不想用内置工具,手动遍历字符串统计频率,再逐一验证:

def check_equal_char_counts(s):
    if not s:
        return True
    count_map = {}
    # 遍历字符串统计每个字符的出现次数
    for char in s:
        count_map[char] = count_map.get(char, 0) + 1
    # 取第一个字符的次数作为基准,检查所有次数是否一致
    base_count = next(iter(count_map.values()))
    return all(count == base_count for count in count_map.values())

# 测试同样有效
print(check_equal_char_counts("abaababb"))  # True
print(check_equal_char_counts("addda"))     # False

补充说明

如果你的需求是允许调整个别字符的次数(比如删除一个字符后让所有次数一致),那需要在上述基础上增加额外逻辑,但针对当前需求,上面的代码已经可以完美解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:15:32