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

栈应用:辅助站(c++)

干货

今天讲讲最大辅助栈最小辅助栈

主栈进入元素的时候

最大辅助栈:保证新元素大于等于(辅助栈)顶的时候,再进入辅助栈这样就能保证最大辅助栈的栈顶元素 是主栈中的最大值
主栈出栈的时候

最大辅助栈:主栈出栈元素如果等于(辅助栈)的栈顶元素,再出辅助栈这样就能保证最大辅助栈的栈顶元素 是主栈中的最大值

最小辅助栈反之

接下来是练习

题目

滑动窗口

题目描述

给定一个大小为n的数组。

有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。

您只能在窗口中看到k个数字。

每次滑动窗口向右移动一个位置。

以下是一个例子:

该数组为[1 3 -1 -3 5 3 6 7],k为3。

窗口位置最小值最大值
[1 3 -1] -3 5 3 6 7-13
1 [3 -1 -3] 5 3 6 7-33
1 3 [-1 -3 5] 3 6 7-35
1 3 -1 [-3 5 3] 6 7-35
1 3 -1 -3 [5 3 6] 736
1 3 -1 -3 5 [3 6 7]37

您的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。

输入格式

输入包含两行。

第一行包含两个整数n和k,分别代表数组长度和滑动窗口的长度。

第二行有n个整数,代表数组的具体数值。

同行数据之间用空格隔开。

输出格式

输出包含两个。

第一行输出,从左至右,每个位置滑动窗口中的最小值。

第二行输出,从左至右,每个位置滑动窗口中的最大值。

样例

样例输入
8 3

1 3 -1 -3 5 3 6 7

样例输出
-1 -3 -3 -3 3 3

3 3 5 5 6 7

#include <bits/stdc++.h>#define l longusing namespace std;int n,k;
l l a[10000010];
stack<l l> ma;
stack<l l> mi;
stack<l l> aaaaa;int main()
{cin>>n>>k;for(int i = 0;i<n;i++){cin>>a[i];}for(int j = 0;j<=n-k;j++){for(int i = j;i<j+k;i++){aaaaa.push(a[i]);if(mi.empty()==true) mi.push(aaaaa.top());else if(mi.top()>=aaaaa.top()) mi.push(aaaaa.top());}cout<<mi.top()<<" ";while(true){if(aaaaa.empty()==true) break;if(aaaaa.top()==mi.top()) mi.pop();aaaaa.pop();}}cout<<endl;for(int j = 0;j<=n-k;j++){for(int i = j;i<j+k;i++){aaaaa.push(a[i]);if(ma.empty()==true) ma.push(aaaaa.top());else if(ma.top()<=aaaaa.top()) ma.push(aaaaa.top());}cout<<ma.top()<<" ";while(true){if(aaaaa.empty()==true) break;if(aaaaa.top()==ma.top()) ma.pop();aaaaa.pop();}}return 0;
}

相关文章:

  • 使用 CST 软件增强工业设备的电磁兼容性设计:原理、方法和应用
  • SpringBoot框架开发网络安全科普系统开发实现
  • SAP CEO Christian Klein专访:企业AI、云转型与未来战略
  • MySQL进阶篇2_SQL优化、锁
  • JDBC工具类
  • 基于Spring Boot + Vue的母婴商城系统( 前后端分离)
  • PHP框架在分布式系统中的应用!
  • python04——条件判断(选择结构)
  • OLE(对象链接与嵌入)剪贴板内容插入到 CAD 图形中——CAD c# 二次开发
  • Kubernetes生产实战(十二):无工具容器网络连接数暴增指南
  • Baklib加速企业AI数据准备实践
  • 用AI写简历是否可行?
  • 逆波兰表达式求值(中等)
  • 第20章 Python数据类型详解:字典进阶
  • K8S Svc Port-forward 访问方式
  • 计算机网络八股文--day1
  • [ctfshow web入门] web70
  • 【计算机视觉】OpenCV实战项目:Athlete-Pose-Detection 运动员姿态检测系统:基于OpenCV的实时运动分析技术
  • 每天五分钟机器学习:拉格朗日对偶函数
  • 串口屏调试 1.0
  • 2025上海十大动漫IP评选活动启动
  • 宇树科技王兴兴:第一桶金来自上海,欢迎上海的年轻人加入
  • 4月证券私募产品备案量创23个月新高,股票策略占比超六成
  • 中国证监会印发2025年度立法工作计划
  • 重温经典|《南郭先生》:不模仿别人,不重复自己
  • 黄玮接替周继红出任国家体育总局游泳运动管理中心主任