学习目标:
每天复习代码随想录上的题目1-2道算法(时间充足可以继续)
今日碎碎念:
1)5/1假期啦,明天去天坛看看,但是算法不能漏,
2)出租屋里不知道干啥,看看书啊刷刷算法,打打游戏,学学技术啥的,不让自己太闲着才行。
3)天天都是吃外卖,不出门了都,后续等到9号回来之后继续开始整理八股(以复习为主)。
力扣刷题
算法
力扣347:347. 前 K 个高频元素
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<int[]> pq = new PriorityQueue<>((pair1, pair2) -> pair2[1] - pair1[1]);//将元素入队for (Map.Entry<Integer, Integer> entry : map.entrySet()) {pq.add(new int[]{entry.getKey(), entry.getValue()});}//大顶堆会自动排序int[] ans = new int[k];for(int i=0;i<k;i++){ans[i] = pq.poll()[0];}return ans;}
}