c++输入n个数,问哪个数出现的次数最多。如果有多个出现次数最多的,输出最大的那个
时间: 2023-09-08 15:00:50 浏览: 58
首先,我们可以使用字典来记录每个数出现的次数。遍历输入的n个数,对于每个数进行判断,如果该数已经在字典中出现过,则将它对应的次数加1;如果该数在字典中还没有出现过,则将它添加到字典中,并初始化次数为1。
接下来,我们需要找到出现次数最多的数。定义两个变量max_num和max_count,分别用来记录出现次数最多的数和其出现的次数。我们遍历字典中的每个数和对应的次数,如果当前的次数大于max_count,则更新max_count为当前的次数,并更新max_num为当前的数;如果当前的次数等于max_count且当前的数大于max_num,则也更新max_num为当前的数。
最后,输出max_num即为出现次数最多的数。
以下是用Python实现的代码:
```python
def find_max_num(nums):
count_dict = {}
max_num = None
max_count = 0
for num in nums:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
if count_dict[num] > max_count:
max_count = count_dict[num]
max_num = num
elif count_dict[num] == max_count and num > max_num:
max_num = num
return max_num
# 测试样例
nums = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
print(find_max_num(nums)) # 输出:4
```
这段代码的时间复杂度为O(n),其中n为输入的数的个数。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)