DEV Community

Giuseppe
Giuseppe

Posted on

LeetCode #347. Top K Frequent Element

Time Complexity: O(n log n) dominated by sorting

Space Complexity: O(n) for the HashMap and List

class Solution {
    public int[] topKFrequent(int[] nums, int k) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int num : nums) {
            map.put(num, map.getOrDefault(num, 0) +1);
        }

        List<Integer> list = new ArrayList<>(map.keySet());
        list.sort((a,b) -> Integer.compare(map.get(b), map.get(a)));

        int[] result = new int[k];
        for (int i = 0; i < k; i++){
            result[i] = list.get(i);
        }
        return result;
    }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)