#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @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

京公网安备 11010502036488号