给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在众数。

示例:

输入1:

[3,2,3]

输出1:

3

输入2:

[2,2,1,1,1,2,2]

输出2:

2

解答:

def majorityElement(self, nums: List[int]) -> int:
    cnt = 0
    maj = nums[0]
    i = 0
    while(i< len(nums)):
        if maj == nums[i]:
            cnt+=1
        else:
            cnt-=1
            if(cnt == 0):
                maj = nums[i+1]
                cnt = 0
        i+=1
    return maj