python给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一个。
时间: 2024-02-25 14:55:10 浏览: 90
可以通过使用 Python 中的 Counter 模块来实现统计每个数出现的次数,然后再根据要求找到出现次数最多且值最大的数。
以下是示例代码:
```python
from collections import Counter
def find_most_frequent(nums):
counter = Counter(nums)
max_count = max(counter.values())
most_frequent = None
for num, count in counter.items():
if count == max_count:
if most_frequent is None or num > most_frequent:
most_frequent = num
return most_frequent
```
其中,nums 是给定的整数序列,函数返回出现次数最多且值最大的数。
相关问题
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一个。python
可以使用字典来记录每个数出现的次数,然后再找出出现次数最多且值最大的数。
以下是 Python 代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
count = {}
for num in nums:
if num not in count:
count[num] = 0
count[num] += 1
max_count = 0
max_num = 0
for num, c in count.items():
if c > max_count:
max_count = c
max_num = num
elif c == max_count and num > max_num:
max_num = num
print(max_num)
```
其中,`n` 表示整数的个数,`nums` 是一个包含这些整数的列表。首先,我们用字典 `count` 记录每个数出现的次数。然后,遍历字典,找出出现次数最多且值最大的数,并输出其值。
给定n个整数,编写一个实验程序找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
可以使用哈希表来解决这个问题。具体做法如下:
1. 遍历整个数组,对于每个数,将其作为键,在哈希表中进行查找。如果该数已经在哈希表中,则将该数对应的值加一;否则,在哈希表中添加该数,并将其值初始化为 1。
2. 遍历哈希表,找到出现次数最多的数。如果有多个数出现次数相同,则输出最小的那个数。
以下是 Python 代码实现:
```python
def find_most_frequent(nums):
hashmap = {}
max_freq = 0
min_num = float('inf')
for num in nums:
if num in hashmap:
hashmap[num] += 1
else:
hashmap[num] = 1
if hashmap[num] > max_freq:
max_freq = hashmap[num]
min_num = num
elif hashmap[num] == max_freq:
min_num = min(min_num, num)
return min_num
```
时间复杂度为 O(n),空间复杂度为 O(n)。
阅读全文