有一个一维数组,里面的元素都是数,统计里面的数有重复数字的数字个数,就比如这个数组{121,21324,123,234,4546}里面121、21324、4546有重复数字,所以结果是3,怎么用代码实现
时间: 2024-10-19 09:12:41 浏览: 30
要统计一维数组中具有重复数字的元素个数,你可以使用哈希集合(HashSet)或字典(Dictionary,在Python中)。这两种数据结构不允许重复元素的存在,因此当你尝试添加数组中的每个元素到集合中时,如果元素已经存在,则说明该数字有重复。
以下是用Python实现的一个示例:
```python
def count_duplicates(arr):
num_count = {} # 使用字典来存储每个数字及其计数
duplicates = 0 # 初始化重复元素的计数
for num in arr:
if num in num_count:
num_count[num] += 1 # 如果数字已存在,计数加1
else:
num_count[num] = 1 # 否则,新数字初始化计数为1
if num_count[num] > 1: # 检查当前数字是否重复
duplicates += 1
return duplicates
# 测试数组
arr = [121, 21324, 123, 234, 4546]
result = count_duplicates(arr)
print("重复数字的元素个数:", result)
```
在这个代码里,我们遍历数组,每次遇到一个数字,都会检查它是否已经在字典`num_count`中。如果在,我们就增加计数;如果不,我们将数字添加并设置计数为1。最后,我们返回计数器`duplicates`作为结果。
阅读全文