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]
.
def topKFrequent(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: List[int]
"""
dic={}
for i in nums:
if i in dic:
dic[i]+=1
else:
dic[i]=1
dic = sorted(dic.iteritems(), key=lambda d: d[1], reverse=True)
result=[]
for i in range(0,k):
a,b=dic[i]
result.append(a)
return result