美文网首页
数组中出现次数超过一半的数字

数组中出现次数超过一半的数字

作者: momo1023 | 来源:发表于2019-03-27 19:11 被阅读0次
    # -*- coding:utf-8 -*-
    class Solution:
        def MoreThanHalfNum_Solution(self, numbers):
            # write code here
            l = len(numbers)
            if l <= 0:
                return 0
            cur = numbers[0]
            count = 1
            for i in range(1, l):
                if count == 0:
                    cur = numbers[i]
                    count = 1
                else:
                    if cur == numbers[i]:
                        count += 1
                    else:
                        count -= 1
            # 验证
            count = 0
            for num in numbers:
                if num == cur:
                    count += 1
            if count > l / 2:
                return cur
            else:
                return 0
    

    相关文章

      网友评论

          本文标题:数组中出现次数超过一半的数字

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