#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param numbers int整型一维数组
# @return int整型
#
class Solution:
    def MoreThanHalfNum_Solution(self, numbers: List[int]) -> int:
        # write code here
        if not numbers:
            return 0

        candidate = numbers[0]
        count = 1

        for num in numbers[1:]:
            if count == 0:
                candidate = num
                count = 1
            elif num == candidate:
                count += 1
            else:
                count -= 1

        # 验证候选数字是否真的超过一半
        if numbers.count(candidate) > len(numbers) // 2:
            return candidate
        else:
            return 0  # 如果没有超过一半的数字,则返回0