您的位置:首页 > 产品设计 > UI/UE

347. Top K Frequent Elements

2016-05-14 17:21 645 查看
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 log
n), 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

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法