当前位置: 首页 > wzjs >正文

网站推广运营公司黄冈网站推广软件视频下载

网站推广运营公司,黄冈网站推广软件视频下载,帝国cms怎么做淘客网站,爱墙 网站怎么做滑动窗口对应的数据结构是双端队列。 难点在于,窗口移动时,最大值可能掉出窗口,需要重新找出窗口内的最大值,时间复杂度为O((n-k1)k): 大小为n的数组中存在n-k1个大小为k的窗口每个窗口内在k个元素中找出最大值 最好…

滑动窗口对应的数据结构是双端队列。

难点在于,窗口移动时,最大值可能掉出窗口,需要重新找出窗口内的最大值,时间复杂度为O((n-k+1)k)

  • 大小为n的数组中存在n-k+1个大小为k的窗口
  • 每个窗口内在k个元素中找出最大值

最好是把第二个时间简化到O(1)

于是,联想到单调栈,每进来一个元素,都可以直接找出当前的最大值/最小值。

因此,需要做到以下几点:

  • 当队首元素等于已经被删除的元素nums[i-1],那么将队首元素删掉
  • 入队时要保证队列保持非严格递减,保证栈底元素(队首元素)为最大值。
  • i大于等于0时,表示窗口已经构建出来,需要将当前的最大值(队首元素)记录在数组中。
class Solution {public int[] maxSlidingWindow(int[] nums, int k) {if (nums.length == 0 || k == 0) return new int[0];Deque<Integer> deque = new LinkedList<>();int[] ans = new int[nums.length - k + 1];for (int j = 0, i = 1 - k; j < nums.length; ++i, ++j) {if (i > 0 && deque.peekFirst() == nums[i - 1]) {deque.removeFirst();}while (!deque.isEmpty() && deque.peekLast() < nums[j]) {deque.removeLast();}deque.addLast(nums[j]);if (i >= 0) ans[i] = deque.peekFirst();}return ans;}
}
http://www.dtcms.com/wzjs/402889.html

相关文章:

  • 做理财的网站有哪些问题百度互联网营销是什么
  • 广西建设网查询什么是seo如何进行seo
  • 请详细说明网站开发流程及原则淘宝大数据查询平台
  • 网站色彩搭配表程序员培训机构排名
  • 广州建站公司有哪些北京seo优化公司
  • 多梦主题建设的网站新公司做网站多少钱
  • 建网站需要哪些知识推广赚钱的项目
  • 网络公司网站建设服务俄罗斯搜索引擎yandex
  • 政府机构做门户网站的好处自建网站平台有哪些
  • 在线教学的网站开发方案全网整合营销推广
  • 做公司网站怎么做手机版网络营销推广系统
  • 中国著名的网站建设公司cba排名
  • 做网站用什么开发工具免费自建网站有哪些
  • 门户网站建设 总结域名查询
  • 广州专业建设网站关键词有哪些?
  • 网站建设用户调查微商怎么找客源人脉
  • wordpress 模板 管理志鸿优化网
  • 优化网站有哪些方法网站排名顾问
  • visio画网站开发类图电脑系统优化软件排行榜
  • 修改wordpress的语言设置株洲seo优化报价
  • 小说网站建设方案书it培训机构排名及学费
  • 大连市开发区网站建设公司如何在百度推广自己
  • 网页制作教程哔哩哔哩深圳优化网站方法
  • 网站通信管理部门备案河南做网站的公司
  • 公司网站后台登陆什么是网络营销战略
  • asp.net 做网站做关键词推广
  • 网站备案账号是什么情况站长之家最新网站
  • 路由侠怎么做网站映射hao123主页
  • 网站制作测试范围网站seo优化8888
  • 忘记网站后台账号营销型网站方案