python 查找数字列表中的多数元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 查找数字列表中的多数元素相关的知识,希望对你有一定的参考价值。
# Uses python3
import sys
def get_majority_element(a, left, right):
if left == right:
return -1
if left + 1 == right:
return a[left]
mid = (left + right - 1) // 2 + 1
left_m = get_majority_element(a, left, mid)
right_m = get_majority_element(a, mid, right)
left_count = 0
for i in range(left, right):
if a[i] == left_m:
left_count += 1
if left_count > (right - left) // 2:
return left_m
right_count = 0
for i in range(left, right):
if a[i] == right_m:
right_count += 1
if right_count > (right - left) // 2:
return right_m
return -1
if __name__ == '__main__':
input = sys.stdin.read()
n, *a = list(map(int, input.split()))
if get_majority_element(a, 0, n) != -1:
print(1)
else:
print(0)
以上是关于python 查找数字列表中的多数元素的主要内容,如果未能解决你的问题,请参考以下文章
如何在python列表中查找某个元素的索引
使用列表推导查找列表中的元素,其中列表中的所有元素都是因子
使用C使用分而治之查找数组中的多数元素
查找列表中的最小元素(递归) - Python
查找列表中连续数字之间的差异(Python)
python 查找列表中的列表元素的一部分(函数)