美文网首页python刷leetcode简单题
【leetcode】169、Majority Element

【leetcode】169、Majority Element

作者: 潇湘demi | 来源:发表于2018-03-01 15:29 被阅读0次

翻译

找出多数,出现>n/2次的元素。

思路

Moore voting algorithm--每找出两个不同的element,就成对删除即count--,最终剩下的一定就是所求的(多数的元素>n/2)。时间复杂度:O(n)

a = ["a","c","b","c","a","a","a"]

def find_majory_number(a):

    count =0

    for iin range(len(a)):

    if count==0:

        majory = a[i]

        count +=1

     else:

        if a[i] == majory:

            count +=1

        else:

            count -=1

            return majory

print find_majory_number(a)

相关文章

网友评论

    本文标题:【leetcode】169、Majority Element

    本文链接:https://www.haomeiwen.com/subject/drngxftx.html