编写一个Python函数,在键盘输入的整数列表中找出现次数超过一半的元素。如果不存在这样的元素,返回None。
时间: 2024-11-27 19:14:01 浏览: 3
你可以编写一个名为`find_majority_element`的Python函数,通过使用哈希表来统计每个数字的出现次数,然后遍历一次即可找出出现次数超过总长度一半的元素。如果找不到这样的元素,函数将返回`None`。以下是该函数的一个实现:
```python
def find_majority_element(numbers):
if not numbers: # 如果列表为空,直接返回None
return None
count_dict = {}
for num in numbers:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
# 遍历字典,找到第一个出现次数超过一半的元素
for element, occurrences in count_dict.items():
if occurrences > len(numbers) // 2:
return element
# 如果没有找到,返回None
return None
# 测试函数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9]
result = find_majority_element(numbers)
if result is not None:
print(f"Majority element is {result}")
else:
print("No majority element found.")
```
阅读全文