[leetcode: Python]169. Majority Element

题目:
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.

题意:
给定一个数组,找到它的主元素,即出现次数超过n/2的数。
假定数组非空且数组存在主元素。

方法一:性能66ms

class Solution(object):
    def majorityElement(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        b = {}
        for eachnum in nums:
            if eachnum not in b:
                b[eachnum] = 1
            else:
                b[eachnum] += 1
        for eachnum in b:
            if b[eachnum] == max(b.values()):
                return eachnum
        return 0

方法二:性能49ms

class Solution(object):
    def majorityElement(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        return sorted(nums)[(len(nums))/2]

你可能感兴趣的:(LeetCode:,Easy)