题解 | 【模板】滑动窗口

【模板】滑动窗口

https://www.nowcoder.com/practice/be419f584a3f4c5b818833f1ce856626

#include <iostream>
#include <deque>
using namespace std;
const int N=2e5+54;
typedef long long ll;

int a[N];
int main() {
    int n,k;cin>>n>>k;
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    deque<int> q;
    for(int i=0;i<n;i++){
        while(q.size() && a[q.back()] <a[i]) q.pop_back();

        q.push_back(i);

        if(q.front() <=i-k) q.pop_front();

        if(i>=k-1) cout<<a[q.front()]<< " ";
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务