239.滑动窗口最大值;347.前 K 个高频元素;总结
1 滑动窗口最大值
1.1 思路
封装一个deque类:主要构造pop、push的逻辑
然后使用循环来进行遍历,更新最大值
1.2 代码
二刷补充
2 前 K 个高频元素
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。
示例 1:
- 输入: nums = [1,1,1,2,2,3], k = 2
- 输出: [1,2]
示例 2:
- 输入: nums = [1], k = 1
- 输出: [1]
- 提示:
- 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。
- 你的算法的时间复杂度必须优于 $O(n \log n)$ , n 是数组的大小。
- 题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。
- 你可以按任意顺序返回答案。
2.1 思路
自己思考:需要对数组出现过的元素组成[值,数量]这样的封装。
数量与k比较
解题思路:使用小顶堆
2.2 代码
二刷补充
总结
**栈 **:先进后出
队列: 先进先出
要了解底层实现:基于链表或者数组
标签:day12,示例,队列,最大值,元素,数组,高频 From: https://www.cnblogs.com/nrtnrt/p/17894734.html