問題
Given an array of size n, find the majority element. The majority
element is the element that appears more than ? n/2 ? times.
You may assume that the array is non-empty and the majority element
always exist in the array.
python 代碼
class Solution:
# @param num, a list of integers
# @return an integer
def majorityElement(self, num):
if len(num) == 0:
return
counter = {}
for i in num:
if i in counter.keys():
counter[i] =counter[i] + 1
else:
counter[i] = 1
majority = counter.keys()[0]
for (k, v) in counter.items():
if v > counter[majority]:
majority = k
return majority if counter[majority] >= len(num)/2 else None