leetcode

前K个高频元素

2018-09-12  本文已影响9人  momo1023

给定一个非空的整数数组,返回其中出现频率前 k 高的元素。

输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]

输入: nums = [1], k = 1
输出: [1]

说明:

class Solution(object):
    def topKFrequent(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: List[int]
        """
        d = {}
        for num in nums:
            if num in d:
                d[num] += 1
            else:
                d[num] = 1
        print(d.items())
        out = sorted(d.items(), key=lambda x:x[1], reverse=True)
        res = []
        for i in range(k):
            res.append(out[i][0])
        return res
上一篇下一篇

猜你喜欢

热点阅读