滑动窗口最大值:ACM 模式刷题
按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。
题目描述
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回 滑动窗口中的最大值 。
输入格式
第一行包含两个整数 n 和 k。
第二行包含 n 个整数 nums[i]。
输出格式
输出 n − k + 1 个整数,依次表示每个滑动窗口的最大值,相邻数字以空格分隔。
数据范围
- 1 ≤ k ≤ n ≤ 10⁵
- −10⁴ ≤ nums[i] ≤ 10⁴
公开样例
样例 1
输入
8 3 1 3 -1 -3 5 3 6 7
输出
3 3 5 5 6 7
窗口每次向右移动一位,每个窗口的最大值如下:
样例 2
输入
1 1 1
输出
1
唯一窗口只包含元素 1。
练习建议
先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。