做采购 通常在什么网站看,威海吧,城乡建设部官网,asp资源下载网站题目
最大的K个元素 小根堆#xff08;类似上窄下宽的梯形#xff09; 最小的K个元素 大根堆#xff08;类似倒三角形#xff09;
法1#xff1a;小根堆
class Solution {public int[] topKFrequent(int[] nums, int k) {MapInteger, Integer valToC…题目
最大的K个元素 小根堆类似上窄下宽的梯形 最小的K个元素 大根堆类似倒三角形
法1小根堆
class Solution {public int[] topKFrequent(int[] nums, int k) {MapInteger, Integer valToCountMap new HashMap();for (int i : nums) {valToCountMap.put(i, valToCountMap.getOrDefault(i, 0) 1);}PriorityQueueint[] queue new PriorityQueue((a, b) - a[1] - b[1]);for (Map.EntryInteger, Integer entry : valToCountMap.entrySet()) {int val entry.getKey(), count entry.getValue();if (queue.size() k) {if (count queue.peek()[1]) {queue.poll();queue.offer(new int[]{val, count});}} else {queue.offer(new int[]{val, count});}}int[] res new int[k];for (int i 0; i k; i) {res[i] queue.poll()[0];}return res;}
}