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

如何编写统计列表重复项总数的伪代码 需包含数字3的重复情况

统计列表重复项总数量实现方案

需求说明

  • 统计列表中所有重复项的总数量,数字3的重复情况需计入统计
  • 统计规则:每个元素的重复数 = 该元素出现次数 - 1,所有元素的重复数累加即为最终结果
  • 输入示例:T = [1, 2, 1, 1, 3, 3]
  • 输出要求:返回值为3,计算逻辑:1出现3次贡献3-1=2,3出现2次贡献2-1=1,总和2+1=3

现有代码问题说明

原有代码仅统计存在重复的元素个数,最终返回值为2,不符合统计总重复数的需求

def find_same_num(a):
    n = len(a)
    result = set()
    for i in range(0,n-1):
        for j in range(i+1,n):
            if a[i] == a[j]:
                result.add(a[i])
    return result

T = [1, 2, 1, 1, 3, 3]
print(len(find_same_num(T))) # 输出为2,仅统计到1和3两个有重复的元素

伪代码实现

函数 统计重复总数量(输入列表 arr):
    初始化计数字典 count_map 为空
    初始化总重复数 total = 0
    遍历 arr 中的每个元素 num:
        如果 num 在 count_map 中:
            count_map[num] = count_map[num] + 1
        否则:
            count_map[num] = 1
    遍历 count_map 中的每个计数值 cnt:
        如果 cnt > 1:
            total = total + (cnt - 1)
    返回 total

Python可运行实现

def count_total_duplicates(a):
    count_map = {}
    total = 0
    for num in a:
        count_map[num] = count_map.get(num, 0) + 1
    for cnt in count_map.values():
        if cnt > 1:
            total += cnt - 1
    return total

T = [1, 2, 1, 1, 3, 3]
print(count_total_duplicates(T)) # 输出为3,符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:45:07