#225. 滑动窗口
滑动窗口
本题没有可用的提交语言。
请 C++ 选手不要在本题使用万能头。
题目描述
给定一个长度为 的数组,以及一个长度为 的滑动窗口,窗口从数组的最左端移动到最右端。每次你只能看到窗口内的 个数字,窗口每次向右移动一个位置。
你的任务是求出窗口在每个位置时,窗口内的最小值和最大值。
下面是示例数组 , 时的情况:
| 窗口位置 | 最小值 | 最大值 |
|---|---|---|
| [1 3 -1] -3 5 3 6 7 | -1 | 3 |
| 1 [3 -1 -3] 5 3 6 7 | -3 | |
| 1 3 [-1 -3 5] 3 6 7 | 5 | |
| 1 3 -1 [-3 5 3] 6 7 | ||
| 1 3 -1 -3 [5 3 6] 7 | 3 | 6 |
| 1 3 -1 -3 5 [3 6 7] | 7 |
输入格式
第一行两个整数 和 ,表示数组长度和窗口大小。
第二行 个整数,表示数组元素。
输出格式
第一行输出每个窗口位置的最小值(从左到右)。
第二行输出每个窗口位置的最大值(从左到右)。
数字之间用空格隔开。
8 3
1 3 -1 -3 5 3 6 7
-1 -3 -3 -3 3 3
3 3 5 5 6 7
数据规模与约定
对于全部的测试点,保证 ,,数组中的元素绝对值不超过 。
相关
在下列比赛中: