求众数
思路:
记录每个元素出现的次数,然后查找到众数
代码:
class Solution: def majorityElement(self, nums: List[int]) -> int: threshold = len(nums) // 2 d = {} for i in nums: d[i] = d.get(i, 0) + 1 for k, v in d.items(): if v > threshold: return k
大神思路:
对数组排序。因为众数的次数大于数组尺寸的1/2,所以众数肯定位于已排序的中间
代码:
class Solution: def majorityElement(self, nums: List[int]) -> int: nums.sort() return nums[len(nums)//2]