题目描述
blablabla
样例
blablabla
算法1
(y男神的解法) $O(n^2)$
时间复杂度
参考文献
C++ 代码
class Solution{
public int[] maxInWindows(int[] nums, int k) {
//队列的关系,窗口是一个队列的逻辑关系,并且队列里面是个单调下降的,队首就一直维护这队列的最大值
//队列里面的存的是下标值
int[] res = new int[nums.length-k+1];
Deque<Integer> md = new LinkedList<>();
for(int i=0;i<nums.length;i++)
{
while(!md.isEmpty()&&md.peek()<=i-k) md.poll();
while(!md.isEmpty()&&nums[md.peekLast()]<=nums[i]) md.pollLast();
md.offer(i);
//System.out.println(md);
if(i-k+1>=0) res[i-k+1]=nums[md.peek()];
}
return res;
}
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla