class Solution:
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
d = Counter(nums)
bucket = [[inf] for _ in range(len(nums)+1)]
for key, val in d.items():
if bucket[val][0] == inf:
bucket[val][0] = key
else:
bucket[val].append(key)
res = []
for i in range(len(bucket)-1,0,-1):
if bucket[i][0] != inf:
res += bucket[i]
if len(res) >= k:
return res[:k]
return res[:k]
03-23
352