给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入描述:输入的第1行包含一个整数n,表示给定数字的个数;第2行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出描述:输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数,按出现次数递减的顺序输出。如果两个整数出现次数一样多,则先输出值较小的,然后输出值较大的。 系统说明及结果
时间: 2024-04-07 17:33:54 浏览: 233
对于这个问题,我可以给出一个基本的算法实现。首先,我们可以使用一个字典来存储每个整数出现的次数,然后按照出现次数从多到少进行排序并打印输出。
以下是一个示例的实现代码:
```python
# 读取输入
n = int(input())
nums = list(map(int, input().split()))
# 统计每个整数出现的次数
count = {}
for num in nums:
count[num] = count.get(num, 0) + 1
# 按出现次数递减的顺序进行排序
sorted_count = sorted(count.items(), key=lambda x: (-x[1], x[0]))
# 输出结果
for num, freq in sorted_count:
print(num, freq)
```
你可以将这段代码复制粘贴到你的编程环境中运行,输入测试数据,就能得到相应的输出结果。
这是一个基本的实现,如果你有其他需求或者更复杂的情况,可以进一步改进代码。
阅读全文