python 序列中出现次数超过N / 3的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 序列中出现次数超过N / 3的元素相关的知识,希望对你有一定的参考价值。
# 找到次数超过n/3的元素
def find_over_1_3(A):
length = len(A)
num = [0, 0]
count = [0, 0]
for i in A:
if i in num:
count[num.index(i)] += 1
else:
if 0 in count:
num[count.index(0)] = i
count[count.index(0)] = 1
else:
count[0] -= 1
count[1] -= 1
L = []
if count[0] != 0 and A.count(num[0]) > length / 3:
L.append(num[0])
if count[1] != 0 and A.count(num[1]) > length / 3:
L.append(num[1])
return L
def main():
A = [3, 2, 1, 3, 4, 3, 1, 3, 1, 5, 1, 2, 3, 1]
print(find_over_1_3(A))
if __name__ == "__main__":
main()
以上是关于python 序列中出现次数超过N / 3的元素的主要内容,如果未能解决你的问题,请参考以下文章
python学习--统计序列中元素出现的频度(次数)
python之Counter类:计算序列中出现次数最多的元素
Python练习题3.6求整数序列中出现次数最多的数-修正版
python如何求一个众数
python_如何统计序列中元素
leetcode-Majority Element II-229