215. 数组中的第K个最大元素
https://leetcode.cn/problems/kth-largest-element-in-an-array/description/?envType=study-plan-v2&envId=top-100-liked
public int findKthLargest(int[] nums, int k) {PriorityQueue<Integer> queue = new PriorityQueue<>((o1, o2) -> o2-o1);for (int num : nums) {queue.offer(num);}for (int i = 0; i < k - 1; i++) {queue.poll();}return queue.poll();}
总结:优先级队列
347. 前 K 个高频元素
https://leetcode.cn/problems/top-k-frequent-elements/description/?envType=study-plan-v2&envId=top-100-liked
public int[] topKFrequent(int[] nums, int k) {int[] res = new int[k];HashMap<Integer,Integer> map = new HashMap<>();for (int num : nums) {Integer count = map.getOrDefault(num, 0) + 1;map.put(num,count);}PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(( o1, o2) -> map.get(o2) - map.get(o1));for (Integer integer : map.keySet()) {priorityQueue.add(integer);}for (int i = 0; i < k; i++) {res[i] = priorityQueue.poll();}return res;}
总结:hashmap存,优先级队列排序