代码随想录算法训练营day13|239.滑动窗口最大值、347.前K个高频元素

  •  239. 滑动窗口最大值
  •  347.前 K 个高频元素

 239. 滑动窗口最大值 (一刷至少需要理解思路

之前讲的都是栈的应用,这次该是队列的应用了。

本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。 

题目链接/文章讲解/视频讲解:代码随想录

 347.前 K 个高频元素  (一刷至少需要理解思路)

大/小顶堆的应用, 在C++中就是优先级队列 

本题是 大数据中取前k值 的经典思路,了解想法之后,不算难。

题目链接/文章讲解/视频讲解:代码随想录


代码随想录算法训练营day13|239.滑动窗口最大值、347.前K个高频元素_第1张图片

class Solution {
private:
    class Myque{
        public:
        deque que;
        void pop(int value){
            if (!que.empty()&&que.front()==value)
                que.pop_front();
        }
        void push(int value){
            while (!que.empty()&&value>que.back())
                que.pop_back();
            que.push_back(value);
        }
        int front(){
            return que.front();
        }
    };
public:
    vector maxSlidingWindow(vector& nums, int k) {
        Myque que;
        vector result;
        for (int i=0;i

代码随想录算法训练营day13|239.滑动窗口最大值、347.前K个高频元素_第2张图片

——未完待续

你可能感兴趣的:(代码随想录,算法)