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(nums[i]);

}

else{

window.push(nums[i]);

res.push_back(window.max());

window.pop(nums[i-k+1]);

}

}

return res;

}

};

相关推荐
无极低码12 小时前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
软件算法开发12 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
Thera77712 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
罗超驿13 小时前
独立实现双向链表_LinkedList
java·数据结构·链表·linkedlist
superior tigre13 小时前
22 括号生成
算法·深度优先
君义_noip14 小时前
信息学奥赛一本通 1952:【10NOIP普及组】三国游戏 | 洛谷 P1199 [NOIP 2010 普及组] 三国游戏
c++·信息学奥赛·csp-s
努力也学不会java14 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
旖-旎14 小时前
二分查找(x的平方根)(4)
c++·算法·二分查找·力扣·双指针
ECT-OS-JiuHuaShan14 小时前
朱梁万有递归元定理,重构《易经》
算法·重构