class Solution {
public int[] maxSlidingWindow(int[] nums, int k) {
LinkedList<Integer> queue = new LinkedList<Integer>();
int[] res = new int[nums.length-k+1];
int left = 0;
for (int i=0;i<nums.length;i++){
if (i>=k){
left++;
}
if (queue.size()>0&&queue.getFirst()<left){
queue.removeFirst();
}
while (queue.size()>0&&nums[queue.getLast()]<=nums[i]){
queue.removeLast();
}
queue.addLast(i);
if (i>=k-1){
res[left]=nums[queue.getFirst()];
}
}
return res;
}
}```
返回滑动窗口中的最大值
最新推荐文章于 2023-01-03 12:45:40 发布