题解 | 【模板】滑动窗口
【模板】滑动窗口
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")
查看12道真题和解析