diff --git a/Algorithms/Medium/347_TopKFrequentElements/Solution.py b/Algorithms/Medium/347_TopKFrequentElements/Solution.py new file mode 100644 index 0000000..d127658 --- /dev/null +++ b/Algorithms/Medium/347_TopKFrequentElements/Solution.py @@ -0,0 +1,20 @@ +class Solution: + def topKFrequent(self, nums: List[int], k: int) -> List[int]: + freq_arr = [[] for _ in range(len(nums))] + elem_freq_map = {} + + for elem in nums: + elem_freq_map[elem] = elem_freq_map.get(elem, 0) + 1 + + for elem, idx in elem_freq_map.items(): + freq_arr[idx - 1].append(elem) + + res = [] + + for i in range(len(freq_arr) - 1, -1, -1): + if freq_arr[i]: res.extend(freq_arr[i]) + + if len(res) == k: + return res + + return \ No newline at end of file