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;

}

};

相关推荐
GreatSQL社区4 分钟前
主从复制SQL线程中断——字符集砸出的坑
java·数据库·算法
ZZHow102438 分钟前
Ascend C算子开发(高级)笔记
c++·人工智能·笔记·深度学习·华为云
Tisfy1 小时前
LeetCode 2333.最小差值平方和:排序 + 数学计算(不用二分)
数学·算法·leetcode·题解·贪心·排序
aqiu1111111 小时前
【C++算法打怪专栏】LeetCode 217. 存在重复元素(解法总结)
c++·算法·leetcode
lojox1 小时前
深入理解 C++ STL:vector 底层实现、迭代器失效与 list 特性
开发语言·c++
微笑星河q2 小时前
C++类和对象(下)初始化列表、类型转换、static、友元、内部类、匿名对象
开发语言·c++
yi0113 小时前
DAY28: LeetCode 111. 二叉树的最小深度
人工智能·笔记·python·算法·leetcode·二叉树·递归
|_⊙3 小时前
C++ 类和对象零散知识点
开发语言·c++
wuyk5553 小时前
27.LeetCode 2265. 统计值等于子树平均值的节点数 —— 后序遍历实战
stm32·单片机·嵌入式硬件·算法
xiangyun613 小时前
C++ list 模拟实现(二):const迭代器与反向迭代器,模板的黑魔法
开发语言·数据库·c++·算法·stl·list