解题思路:
注意事项:
参考代码:
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e7 + 10, M = 500;
int a[N], q[M];
int n, k;
int main()
{
scanf("%d%d", &n, &k);
for (int i = 0; i < n; i++)
scanf("%d",&a[i]);
int hh = 0, tt = -1;
for (int i = 0; i < n; i++)
{
while (hh <= tt && i - k + 1 > q[hh])
hh++;
while (hh <= tt && a[i] < a[q[tt]])
tt--;
q[++tt] = i;
if (i >= k - 1)
cout << a[q[hh]] << " ";
}
puts(" ");
hh = 0, tt = -1;
for (int i = 0; i < n; i++)
{
while (hh <= tt && i - k + 1 > q[hh])
hh++;
while (hh <= tt && a[i] > a[q[tt]])
tt--;
q[++tt] = i;
if (i >= k - 1)
cout << a[q[hh]] << " ";
}
}
0.0分
0 人评分
矩形面积交 (C语言代码)浏览:1553 |
C语言训练-最大数问题 (C语言代码)浏览:648 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:986 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:443 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:941 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:909 |
WU-复数求和 (C++代码)浏览:2119 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:761 |
【蟠桃记】 (C语言代码)浏览:1084 |
蛇行矩阵 (C语言代码)浏览:606 |