给出若干个正整数,请找出出现次数最多的数。 输入格式: 在一行中输入若干个数,以空格间隔(读入数的总个数不超过5000)。 输出格式: 输出出现次数最多的数(若答案不唯一,输出最小的那个)。
时间: 2024-09-18 11:05:50 浏览: 50
c代码-根据输入的正整数值,生成一个直角在左上的等腰直角三角形。
解决这个问题的一种常见方法是利用哈希表或者类似的数据结构来记录每个数字出现的次数。首先读取所有输入的正整数,然后对每一个数,我们在数据结构中增加相应的计数。最后,我们遍历这个数据结构,找到计数值最大的那个数。如果有多个数出现次数相同且是最频繁的,我们可以返回其中的最小值。
这里是一个简单的Python代码示例:
```python
def find_most_frequent(nums):
count_dict = {} # 使用字典存储计数
for num in nums:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
max_count = max(count_dict.values()) # 找到最大计数
mode_numbers = [num for num, freq in count_dict.items() if freq == max_count] # 获取所有出现次数最多的数据
# 返回最小的那个数
return min(mode_numbers) if mode_numbers else None
# 测试用例
nums = [1, 2, 2, 3, 4, 4, 4]
print(find_most_frequent(nums)) # 输出:4
```
阅读全文