347. Top K Frequent Elements

来源:互联网 发布:骨朵网络剧 编辑:程序博客网 时间:2024/05/16 08:54

Given a non-empty array of integers, return the k most frequent elements.

For example,
Given [1,1,1,2,2,3] and k = 2, return [1,2].

Note:

  • You may assume k is always valid, 1 ≤ k ≤ number of unique elements.
  • Your algorithm's time complexity must be better than O(n logn), where n is the array's size.

Subscribe to see which companies asked this question

利用python可以简单实现:

代码如下:

class Solution(object):
    def topKFrequent(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: List[int]
        """
        m1={}
        for temp in nums:
            if temp not in m1.keys():
                m1[temp]=1
            else:
                m1[temp]+=1
        m1=sorted(m1.iteritems(),key=lambda a:a[1],reverse=True)
        result=[]
        count=0
        for temp in m1:
            if count<k:
                result.append(temp[0])
                count+=1
            else:
                break
        return result
       

0 0
原创粉丝点击