跳到主要内容

169. 多数元素 [easy]

169. 多数元素 [easy]

https://leetcode-cn.com/problems/majority-element/

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例 1:

输入: [3,2,3]
输出: 3

示例 2:

输入: [2,2,1,1,1,2,2]
输出: 2

通过次数187,129 | 提交次数293,027

First Try

2020-07-16

简单级别题目,没什么好说的。

class Solution(object):
def majorityElement(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
# 大于 n/2,那就代表出现次数最多的元素,毕竟其他元素肯定小于n/2。。
counter = collections.defaultdict(int)
for n in nums:
counter[n] += 1
rv = max(counter.items(), key=lambda (k, v): v)[0]
return rv
  • 执行用时:32 ms, 在所有 Python 提交中击败了69.84%的用户
  • 内存消耗:13.8 MB, 在所有 Python 提交中击败了30.00%的用户