文件名称:
【Week5作业 D】滑动窗口【单调队列】
开发工具:
文件大小: 38kb
下载次数: 0
上传时间: 2021-01-21
详细说明:题意:
现有一个长度为n的数列和一个大小为k的窗口(1<=k<=n<=1000000),窗口可以在数列上来回移动。现在要求出在窗口从左往右滑的时候,每次窗口内数的最大值和最小值分别是多少。
思路:
寻找窗口的最大值最小值,是一个局部的概念,可以使用单调队列。
如最小值(从队首到队尾单增):先装上前k-1个,如果队列不为空且要加入的元素值小于队列尾的值,则将队尾弹出,直到队尾小于要加入的元素或者队列为空为止,然后加入当前元素。
之后还剩下n-k+1个元素,对应n-k+1个窗口。i=k-1到n-1开始遍历,使用l记录当前窗口最左端元素,若最左元素不属于窗口(i-l+1>k),则将其弹出;之后对要
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.