【239.滑动窗口最大值】
学习的文章链接:https://programmercarl.com/0239.滑动窗口最大值.html
看到题目的第一想法:这道题的难点在于如何求出每个滑动窗口的最大值。
看完代码随想录的想法:
1.实现一个特殊的队列,这个队列在pop和push的时候可以实现front永远都是当前队列的最大值。
2.push操作:如果队列尾部比要push的值小,那么就先把队列尾部的值pop,直到要push的值比队列尾部的值小或者队列为空
3.pop操作:要pop的值如果等于当前队列头的值,那么就pop,如果不等,说明值不在滑动窗口内,那就不做任何操作。
【347. 前 K 个高频元素】
学习的文章链接:https://programmercarl.com/0347.前K个高频元素.html
第一遍看文章有点看不懂,于是开始看视频:
优先级队列正式登场!大顶堆、小顶堆该怎么用?| LeetCode:347.前 K 个高频元素
关于priority_queue的使用方法:c++优先队列(priority_queue)用法详解
关于迭代器的使用方法:C++迭代器(STL迭代器)iterator详解