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

如何获取去重后集合中各元素在原数据中的出现次数?

获取集合元素在原数据中的出现次数解决方案

要实现去重同时统计原数据中元素的出现次数,**哈希表(字典)**就是最适合的带"桶"特性的数据结构——用键存储唯一元素(对应集合的去重结果),用值存储该元素在原数据中的出现次数。

具体实现步骤(以你的示例为例)

  1. 遍历原数组统计次数:
    遍历原数组[1, 2, 2, 3, 2, 5, 3],每遇到一个元素,就更新哈希表中对应键的值:

    • 首次遇到元素时,在哈希表中新增键,值设为1;
    • 再次遇到相同元素时,把对应键的值加1。
      最终得到的哈希表为:{1:1, 2:3, 3:2, 5:1}
  2. 提取结果:
    从哈希表中提取所有键,就是去重后的集合元素;提取对应的值,就是各元素的出现次数。

代码示例(Python)

original_array = [1, 2, 2, 3, 2, 5, 3]
count_dict = {}

# 统计每个元素的出现次数
for num in original_array:
    count_dict[num] = count_dict.get(num, 0) + 1

# 拆分出去重元素和次数列表
unique_elements = list(count_dict.keys())
counts = list(count_dict.values())

# 按要求格式输出
print(unique_elements)
print(" |  |  |  |")
print(counts)

运行后输出:

[1, 2, 3, 5]
 |  |  |  |
[1, 3, 2, 1]

其他语言的适配

几乎所有编程语言都有类似哈希表的结构:

  • Java 用 HashMap<Integer, Integer>
  • JavaScript 用 Map 或普通对象
  • C# 用 Dictionary<int, int>
    核心逻辑都是通过键值对映射实现元素和计数的绑定,操作方式和上面的示例一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:30:47