题解 | #数组中出现次数超过一半的数字#

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

http://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163

# -*- coding:utf-8 -*-
class Solution:
    def MoreThanHalfNum_Solution(self, numbers):
        # write code here
        
        if len(numbers) < 1:
            return 0
        cnt = 1
        curIdx = 0
        retNum = numbers[curIdx]
        
        for idx, num in enumerate(numbers):
            if idx == 0:
                continue
            if cnt == 0:
                retNum = num 
                cnt = 1
                continue
            if num == retNum:
                cnt += 1
            else:
                cnt -= 1
        return retNum
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务