滑动窗口最大值
已关闭dadingPython / C++入场费 3 金币0 次提交
题目描述
给定一个整数数组 nums 和一个整数 k,请找出所有大小为 k 的滑动窗口的最大值,按窗口滑动顺序返回结果数组。
例如:nums = [1,3,-1,-3,5,3,6,7], k = 3 窗口位置依次为:[1,3,-1], [3,-1,-3], [-1,-3,5], [-3,5,3], [5,3,6], [3,6,7] 最大值依次为:3, 3, 5, 5, 6, 7
输入格式
第一行两个整数 n 和 k,表示数组长度和窗口大小。第二行 n 个整数,表示数组元素。
输出格式
一行,n-k+1 个整数,表示每个滑动窗口的最大值,用空格分隔。
输入输出样例
样例 1
输入:
8 3 1 3 -1 -3 5 3 6 7
输出:
3 3 5 5 6 7
说明/提示
单调队列可以在 O(n) 时间内解决此问题,暴力方法 O(nk) 在大数据量下会超时。