Problem E: 双向队列实现滑动窗口最大值
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:3
Solved:3
Description
给定n个整数的数组和窗口大小为 k, 滑动窗口从数组最左边移动到最右边,每次窗口移动1位,要求输出每一个窗口中的最大值。
示例:原始数组为: [1 3 -1 -3 5 3 6 7]。滑动窗口大小 k=3。
窗口位置[1,3,-1]→最大值3;[3,-1,-3]→最大值3;[-1,-3,5]→最大值5……最终结果是[3 3 5 5 6 7]。
Input
输入第一行两个整数 n表示数组的大小, k表示滑动窗口的大小。二行为 n 个整数为数组的元素,其间空格分隔。
Output
输出一行为每个窗口中的最大值。其间空格分隔。
Sample Input Copy
8 3
1 3 -1 -3 5 3 6 7
Sample Output Copy
3 3 5 5 6 7
HINT
1=<n<=1000; -1000=<数组中的数<=1000: