题目链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/
难度:简单

描述:
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。

题解

  1. from collections import defaultdict
  2. class Solution:
  3. def majorityElement(self, nums: List[int]) -> int:
  4. n = len(nums)
  5. m = defaultdict(int)
  6. for i in nums:
  7. m[i] += 1
  8. if m[i] > n // 2:
  9. return i
  10. return -1