1. 给定n个正整数吗,编写一个实验程序找出它们中出现最多的数,如果这样的数有多个,输出其中最小的一个
时间: 2024-10-17 15:14:12 浏览: 31
为了编写一个实验程序,找出给定一组正整数中出现次数最多且最小的那个数,你可以采用以下步骤:
1. **数据结构选择**:使用哈希表(如Python的`collections.Counter`或Java的`HashMap`)来记录每个数字及其出现的频率。
2. **遍历输入数组**:对于数组中的每个元素,更新其在哈希表中的计数。
3. **查找最大频率**:遍历哈希表,找到计数值最大的键值对(即出现最频繁的数),同时保持最小出现最频繁数的记录。
4. **处理并返回结果**:如果存在多个出现次数相同的最大频数,从哈希表中取出所有的这些数,并从中挑选出最小的那个作为结果。
以下是Python版本的示例代码:
```python
from collections import Counter
def find_most_frequent_min(numbers):
counter = Counter(numbers)
max_freq = max(counter.values())
most_frequent = [num for num, freq in counter.items() if freq == max_freq]
return min(most_frequent) if most_frequent else None
# 使用示例
numbers = [1, 2, 2, 3, 4, 4, 5, 5, 5]
result = find_most_frequent_min(numbers)
print("出现最多的数(最小的那个):", result)
```
阅读全文