代码随想录 Leetcode239. 滑动窗口最大值
发布时间:2024年01月22日
题目:
![](https://img-blog.csdnimg.cn/direct/d9b19bc3f1ae4b82bb289d0dcde8f3a0.png)
代码(首刷看解析 2024年1月22日):
class Solution {
private:
class MyQueue{
public:
deque<int> que;
void pop(int val){
if (!que.empty() && que.front() == val) {
que.pop_front();
}
}
void push(int val){
while (!que.empty() && que.back() < val) {
que.pop_back();
}
que.push_back(val);
}
int show_max(){
return que.front();
}
};
public:
vector<int> maxSlidingWindow(vector<int>& nums, int k) {
int n = nums.size();
MyQueue que;
vector<int> res;
for (int i = 0; i < k; ++i) {
que.push(nums[i]);
}
res.push_back(que.show_max());
for (int i = 0; i < n - k; ++i) {
que.pop(nums[i]);
que.push(nums[i + k]);
res.emplace_back(que.show_max());
}
return res;
}
};
文章来源:https://blog.csdn.net/qq_52313711/article/details/135743335
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!