美文网首页
LeetCode-169 求众数

LeetCode-169 求众数

作者: FlyCharles | 来源:发表于2019-02-20 18:26 被阅读0次

    题目

    https://leetcode-cn.com/problems/majority-element/

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

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

    示例 1:

    输入: [3,2,3]
    输出: 3
    

    示例 2:

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

    我的AC

    class Solution(object):
        def majorityElement(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            mapping = {}
            for num in nums:
                if num in mapping:
                    mapping[num] += 1
                else:
                    mapping[num] = 1
            sort_list = sorted(mapping.items(), key=lambda d:d[1], reverse=True)
            return sort_list[0][0]
    

    小结

    1. 判断字典是否有键

    正确:

    if num in mapping:
    

    错误:

    if mapping[num]:
    
    1. 字典键值降序
    D = {'jack': 23, 'rose': 21, 'flank': 22}
    sorted(D.items(), key=lambda d:d[1], reverse=True)  # 值(value)降序
    > [('jack', 23), ('flank', 22), ('rose', 21)]
    

    相关文章

      网友评论

          本文标题:LeetCode-169 求众数

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