#P0220. 滑动窗口
滑动窗口
题目描述
给定一个大小为 的数组。
有一个大小为 的滑动窗口,它从数组的最左边移动到最右边。
你只能在窗口中看到 个数字。
每次滑动窗口向右移动一个位置。
以下是一个例子:
该数组为 [1 3 -1 -3 5 3 6 7]
, 为 。
窗口位置 | 最小值 | 最大值 |
---|---|---|
[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 |
你的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。
输入格式
输入一共包含两行;
第一行包含两个整数 和 ,分别代表数组长度和滑动窗口的长度;
第二行有 个整数,代表数组的具体数值;
输出格式
输出包含两个;
第一行输出,从左至右,每个位置滑动窗口中的最小值;
第二行输出,从左至右,每个位置滑动窗口中的最大值;
注:相邻数字间用空格隔开;
数据范围
输入样例:
10 3
123 453 -304 831 -988 189 744 31 919 951
输出样例:
-304 -304 -988 -988 -988 31 31 31
453 831 831 831 744 744 919 951