指定n个正整数,编写一个实验程序找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
时间: 2024-12-12 21:23:23 浏览: 7
为了找到一组正整数中出现次数最多的数,并返回其中一个最小的该数,你可以编写一个简单的Python程序,利用字典数据结构来存储每个数字及其出现的频率。以下是步骤:
1. 首先,创建一个空字典来保存每个数字及其计数。
2. 接着,遍历输入的n个正整数列表,对于每一个数,检查它是否已经在字典中,如果是,则增加计数;如果不是,则添加到字典并设置计数为1。
3. 更新字典中的最大频率和对应的数字,如果发现当前元素的计数大于已知的最大频率,就更新最大频率和最小值。
4. 最后,遍历一次字典,找到频率等于最大频率的数字,输出最小的那个。
下面是一个示例Python函数实现:
```python
def most_common_smallest(nums):
count_dict = {}
max_freq = 0
min_most_common = None
for num in nums:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
if count_dict[num] > max_freq:
max_freq = count_dict[num]
min_most_common = num if not min_most_common or num < min_most_common else min_most_common
return min_most_common
# 示例
numbers = [1, 2, 2, 3, 3, 3, 4, 5, 5]
result = most_common_smallest(numbers)
print(f"出现次数最多且最小的数是: {result}")
```
阅读全文