美文网首页
leetcode 169 python 求众数

leetcode 169 python 求众数

作者: 慧鑫coming | 来源:发表于2019-02-01 05:41 被阅读0次

    传送门

    题目要求

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

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

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

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

    思路一

    遍历数组,以元素为key, 出现次数为value组成字典,当某个key的value大于 n/2 时,它即为众数;或许你可以偷懒使用collections.Counter

    →_→ talk is cheap, show me the code

    class Solution:
        def majorityElement(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            d = dict()
            for i in nums:
                count = d.get(i, 0)
                count += 1
                d[i] = count
                if count > len(nums)/2:
                    return i
    

    相关文章

      网友评论

          本文标题:leetcode 169 python 求众数

          本文链接:https://www.haomeiwen.com/subject/kstlsqtx.html