Skip to content

Latest commit

 

History

History
 
 

topKFrequentElements

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

前K个高频元素

LeetCode地址

程序

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);
        }
        //
        PriorityQueue<Map.Entry<Integer, Integer>> heap =
            new PriorityQueue<>((a, b) -> (b.getValue() - a.getValue()));
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            heap.add(entry);
        }
        //
        int[] result = new int[k];
        for (int i = 0; i < k; i++) {
            Map.Entry<Integer, Integer> entry = heap.poll();
            result[i] = entry.getKey();
        }
        return result;
    }
}