给定一个数组长度n,以及n个数,在这n个数中,有几个数是相同的,请找出这个数,并统计重复了多少次。输出格式:先输出重复的元素,空一格输出重复次数,若没有重复数字,输出none
时间: 2023-04-28 14:03:24 浏览: 143
可以使用哈希表来解决这个问题。具体步骤如下:
1. 创建一个空的哈希表,用于存储每个数字出现的次数。
2. 遍历数组中的每个数字,如果该数字已经在哈希表中出现过,则将该数字的出现次数加1;否则,在哈希表中添加该数字,并将其出现次数初始化为1。
3. 遍历完数组后,再次遍历哈希表,找出出现次数大于1的数字,并输出其出现次数。
4. 如果没有出现次数大于1的数字,则输出"none"。
下面是具体的代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
hash_table = {}
for num in nums:
if num in hash_table:
hash_table[num] += 1
else:
hash_table[num] = 1
has_duplicate = False
for num, count in hash_table.items():
if count > 1:
print(num, count)
has_duplicate = True
if not has_duplicate:
print("none")
```
其中,`hash_table` 是一个字典,用于存储每个数字出现的次数。`has_duplicate` 用于记录是否存在重复数字。如果存在重复数字,则将其设为 True,否则为 False。最后根据 `has_duplicate` 的值输出结果。
阅读全文