Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 1.71 KB

牛客_0073_简单_数组中出现次数超过一半的数字.md

File metadata and controls

64 lines (45 loc) · 1.71 KB

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

last modify

数组中出现次数超过一半的数字_牛客题霸_牛客网

问题简述
给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
思路:“摩尔投票”
Python
class Solution:
    def MoreThanHalfNum_Solution(self , arr: List[int]) -> int:
        
        ret = arr[0]
        cnt = 1
        
        for x in arr[1:]:
            if x == ret:
                cnt += 1
            else:
                cnt -= 1
            
            if cnt == 0:
                ret = x
                cnt = 1
        
        return ret