LeetCode:239. 滑动窗口最大值

class MonotonicQueue{

deque<int>maxq;

public:

void push(int n){

//将小于n的元素全部删除

while(!maxq.empty()&&maxq.back()<n){

maxq.pop_back();

}

maxq.push_back(n);

}

int max(){

return maxq.front();

}

void pop(int n){

if(n==maxq.front()){

maxq.pop_front();

}

}

};

class Solution {

public:

vector<int> maxSlidingWindow(vector<int>& nums, int k) {

MonotonicQueue window;

vector<int>res;

for(int i=0;i<nums.size();i++){

if(i<k-1){

window.push(numsi);

}

else{

window.push(numsi);

res.push_back(window.max());

window.pop(numsi-k+1);

}

}

return res;

}

};

相关推荐
郝学胜-神的一滴9 小时前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl
拂拉氏9 小时前
【知识讲解】 链式哈希表的实现与unordered_map和unordered_set的封装
数据结构·哈希算法·散列表
haolin123.9 小时前
数据结构--二叉树
数据结构
tkevinjd9 小时前
力扣148-排序链表
算法·leetcode·链表
不如语冰9 小时前
AI大模型入门-参数的传递
数据结构·人工智能·pytorch·python
ch0sen1pm10 小时前
刚学完 CAS 原子操作,我花了一晚上写了三个无锁队列
c++
qeen8710 小时前
【C++】vector的模拟实现详解(二)
c++·学习·算法·迭代器·stl
流浪00110 小时前
数据结构篇(四):线性表——链表——双链表
数据结构·链表
j7~10 小时前
【C++】C++ 继承全解析:从基本语法到菱形继承的底层原理
开发语言·c++·继承·组合·虚继承·#暑假·七月创作之星博客挑战赛
数行拙笔10 小时前
C++客户端---String类型
开发语言·c++·bootstrap