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

wordpress制作大型网站网站建设公司86215

wordpress制作大型网站,网站建设公司86215,临沂网站建设首选浩瀚网络,个人网站空间价格AcWing 154. 滑动窗口 【题目描述】 【输入输出样例】 在查看解析之前,先给自己一点时间思考哦! 【题解】 题目要求给定一个大小为n的数组,并且有一个大小为k的滑动窗口。窗口每次向右移动一个位置,要求计算窗口中的最大值和最…

AcWing 154. 滑动窗口
【题目描述】
在这里插入图片描述
【输入输出样例】
在这里插入图片描述
在查看解析之前,先给自己一点时间思考哦!
天津之眼
【题解】
题目要求给定一个大小为n的数组,并且有一个大小为k的滑动窗口。窗口每次向右移动一个位置,要求计算窗口中的最大值和最小值。为了解决这个问题,我们可以使用双端队列的方式来优化滑动窗口的最大值和最小值查询。

双端队列的应用:利用双端队列来保持一个递减递增的窗口。具体来说:
最大值:保持队列中元素的下标递减,从队列前面获取窗口的最大值。
最小值:保持队列中元素的下标递增,从队列前面获取窗口的最小值。

窗口的滑动:每次滑动窗口时,我们需要:
将新元素添加到队列,并维护队列中的元素顺序(递减或递增)。
移除已经不在当前窗口中的元素。
效率:每个元素最多进入队列一次,且最多被删除一次,因此时间复杂度为O(n)O(n)O(n)
【参考代码】

#include <iostream>
using namespace std;const int N = 1e6 + 10;  // 定义最大数组长度
int a[N], q[N];  // a存储数组,q存储队列(用来存储窗口中元素的索引)
int n, k;int main() {cin >> n >> k;  for(int i = 0; i < n; i++)  cin >> a[i];// 计算每个窗口中的最小值int hh = 0, tt = -1;  // 队列的头部和尾部指针for(int i = 0; i < n; i++) {// 移除不在窗口中的元素if(hh <= tt && i - k + 1 > q[hh])hh++;// 维护递增队列,移除队列中所有比当前元素大的元素while(hh <= tt && a[q[tt]] >= a[i])tt--;// 将当前元素的下标加入队列q[++tt] = i;// 输出当前窗口的最小值if(i >= k - 1)cout << a[q[hh]] << " ";}cout << endl;// 计算每个窗口中的最大值hh = 0, tt = -1;  // 重置队列的头尾指针for(int i = 0; i < n; i++) {// 移除不在窗口中的元素if(hh <= tt && i - k + 1 > q[hh])hh++;// 维护递减队列,移除队列中所有比当前元素小的元素while(hh <= tt && a[q[tt]] <= a[i])tt--;// 将当前元素的下标加入队列q[++tt] = i;// 输出当前窗口的最大值if(i >= k - 1)cout << a[q[hh]] << " ";}cout << endl;return 0;
}
http://www.dtcms.com/a/415658.html

相关文章:

  • 徐州网站制作功能哪里有门户网站开发
  • 电脑行业网站模板福建省交通建设质量安全监督局网站
  • 面试官常问:NULL 对聚合函数的影响
  • 汕头模板做网站贵州省建设局八大员报名网站
  • Excel判断身份证号是否正确
  • 神经正切核(NTK):从梯度流到核方法的完整推导
  • 想在浏览器里跑 AI?TensorFlow.js 硬件支持完全指南
  • 安徽省城乡住房建设厅网站沧县官厅网站建设
  • 网站开发北京虚拟主机做网站教程
  • WSL 安装方法(简单全面)
  • 京东100道GO面试题及参考答案(上)
  • 网站被挂黑链怎么处理深圳宝安网站建设公司推荐
  • h5网站模板下载wordpress加速访问
  • 语言大模型(LLM)与自然语言处理(NLP)
  • 如何构建网站重庆中技互联
  • QML学习笔记(十五)QML的信号处理器(MouseArea)
  • php 微信 网站建设无限观影次数的app软件
  • 苏州网站建设数据网络WordPress支付宝登录
  • opcode - Claude Code 图形化工具集
  • 淮南招聘网站建设全球域名注册平台
  • VsCode配置Claude Code-Windows
  • 网站建设台词精品课程网站设计说明范文
  • 手写MyBatis第78弹:装饰器模式在MyBatis二级缓存中的应用:从LRU到防击穿的全方案实现
  • 山西网站开发二次开发拍卖网站功能需求文档
  • 中文简洁网站设计图wordpress 导航菜单设置
  • JavaWeb-Ajax、监听器、过滤器及对应案例和jstl补充
  • 如何自己免费建网站做最优秀的自己演讲视频网站
  • 文件包含与下载漏洞
  • centos7.9下安装freeswitch-1.10.5.-release详细教程(极其简单)
  • 慢慢来做网站多少钱互联网保险经纪公司十大排名