Leetcode(169):求众数

题目:

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ >的元素。
你可以假设数组是非空的,并且给定的数组总是存在众数。

示例 1:
输入: [3,2,3]
输出: 3
示例 2:
输入: [2,2,1,1,1,2,2]
输出: 2

题解:

建立一个字典,以nums中的数字为键,键值为数字出现的次数。输出键值最大的键。

class Solution:
    def majorityElement(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        s = {}
        for i in nums:
            if str(i) in s.keys():
                s[str(i)] += 1
            else:
                s[str(i)] = 1
        s = sorted(s.items(), key=lambda e:e[1], reverse=True)
        return int(s[0][0])

猜你喜欢

转载自blog.csdn.net/wanghj47/article/details/80159759