博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指 Offer 59 - I. 滑动窗口的最大值
阅读量:4035 次
发布时间:2019-05-24

本文共 1021 字,大约阅读时间需要 3 分钟。

题目描述

给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。

示例:

输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3

输出: [3,3,5,5,6,7]
解释:

滑动窗口的位置 最大值


[1 3 -1] -3 5 3 6 7 3

1 [3 -1 -3] 5 3 6 7 3
1 3 [-1 -3 5] 3 6 7 5
1 3 -1 [-3 5 3] 6 7 5
1 3 -1 -3 [5 3 6] 7 6
1 3 -1 -3 5 [3 6 7] 7

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/hua-dong-chuang-kou-de-zui-da-zhi-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Java

class Solution {
public int[] maxSlidingWindow(int[] nums, int k) {
//维护一个单调队列 if(nums==null || nums.length==0) return new int[0]; int [] res=new int[nums.length-k+1]; Deque
deque=new ArrayDeque<>(); for (int i=0,j=0;i
=k){
deque.poll(); //删除队头 } while(!deque.isEmpty() && nums[i]>nums[deque.peekLast()]){
deque.pollLast(); //当滑动窗口大于K } deque.offer(i); //队尾插入 if(i>=k-1){
res[j++]=nums[deque.peek()]; } } return res; }}
你可能感兴趣的文章
/etc/resolv.conf
查看>>
container_of()传入结构体中的成员,返回该结构体的首地址
查看>>
linux sfdisk partition
查看>>
ipconfig,ifconfig,iwconfig
查看>>
opensuse12.2 PL2303 minicom
查看>>
电平触发方式和边沿触发的区别
查看>>
网络视频服务器移植
查看>>
Encoding Schemes
查看>>
移植QT
查看>>
如此调用
查看>>
计算机的发展史
查看>>
带WiringPi库的交叉编译如何处理一
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Spring事务的七种传播行为
查看>>
ES写入找不到主节点问题排查
查看>>
Java8 HashMap集合解析
查看>>
ArrayList集合解析
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
Android计算器实现源码分析
查看>>
Android系统构架
查看>>