给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋
的元素。
你可以假设数组是非空的,并且给定的数组总是存在众数。
示例 1:
输入: [3,2,3] 输出: 3
示例 2:
输入: [2,2,1,1,1,2,2] 输出: 2
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time: 2018/8/1
# @Author: xfLi
# The file...
from scipy import stats
import numpy as np
def majorityElement(nums): #先排序,再找众数
"""
:type nums: List[int]
:rtype: int
"""
return sorted(nums)[len(nums) // 2]
#方法二
def majorityElement2(nums):
"""
:type nums: List[int]
:rtype: int
"""
counts = np.bincount(nums) # 返回每个索引值出现的次数 (type: list)
return np.argmax(counts)
#方法三
def majorityElement3(nums):
"""
:type nums: List[int]
:rtype: int
"""
return stats.mode(nums)[0][0]
if __name__ == '__main__':
nums = [2,2,1,1,1,1,2,2,3]
result = majorityElement(nums)
print(result)