双端队列实现
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 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思路 :
1 开一个双端队列 和一个结果数组(存储结果最大值的)
2 只需要把双端队列第一个设置为最大值
3 每一次满足窗口大小就 返回第一个Nums[ 队列里面的第一个值]
4 刚开始的话是要满足 队列里面填充k 个
5 满了之后,随着窗口易懂,移除第一个,那么吧nums[新的最大值下标]给res
Java双端队列给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。
原创
©著作权归作者所有:来自51CTO博客作者张无忌的猪的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:随机点名器制作来使用 HTML+JavaScript 来实现如下图所示的随机点 名器,第一张图是随机点名器的初始页面,当点击开始按钮时,JS 程序中提 前准备好人员(数组)名单会随机变换跳动显示,开始
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
有趣的css - 颜色滑动切换按钮
当鼠标悬浮在按钮上方时,按钮背景色从左往右滑动变化一个变化切换按钮。
css动画 动效设计 交互设计 用户体验 按钮 -
滑动窗口最大值【子串】【滑动窗口】【双端队列】
时间复杂度:空间复杂度:
滑动窗口 双端队列 空间复杂度 复杂度 Code -
数组15--滑动窗口的最大值
数组15--滑动窗口的最大值-jz64题目概述解析&参考答案注意事项说明题目概述
滑动窗口的最大值 剑指offer 滑动窗口 数组 -
K 个不同整数的子数组(滑动窗口)
K 个不同整数的子数组(滑动窗口)
子数组 i++ 双指针 赋值 d3