Problem description:
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.
Python 求解:
问题需要得到出现次数排名前K的元素,很容易想到hash table来做,元素的值对应着其出现的次数。在python中,字典和hash表类似,现在用python dict来做。
def topKFrequent(self, nums, k):
alist=[]
bdict=dict()
dlist=[]
for i in range(0,len(nums)):