# Python Solutionfrom collections import Counterfrom typing import Listdef topKFrequent(nums: List[int], k: int) -> List[int]: # Count frequency of each number counter = Counter(nums) # Sort by frequency and get top k elements # counter.most_common() returns list of tuples (element, frequency) return [num for num, _ in counter.most_common(k)]
Counter (Bucket Sort)
count = {}freq = [[] for i in range(len(nums) + 1)]for num in nums count[num] = 1 + count.get(num, 0)for num, cnt in count.items(): freq[cnt].append(num)