当前位置:网站首页>劍指 Offer 59 - II. 隊列的最大值
劍指 Offer 59 - II. 隊列的最大值
2022-07-19 03:49:00 【BugMaker-shen】

使用一個queue和一個deque,queue進行正常的push和pop操作,deque輔助找到當前隊列中最大值
入隊時,如果當前元素value小於deque隊尾元素,直接把value入隊deque;如果當前元素value大於deque隊尾元素,從deque隊尾開始,把小於value的元素全部從隊尾出隊。(deque內元素是降序的)
出隊時,只要queue隊首元素小於deque隊首元素,直接出隊queue隊首元素即可;若queue隊首元素和deque隊首元素相等了,則兩者一起出隊。deque隊首元素錶示的是,queue不把該值出隊,deque隊首元素都是最大的
class MaxQueue {
public:
queue<int> q;
deque<int> deq;
MaxQueue() {
}
int max_value() {
if(q.empty()){
return -1;
}
return deq.front();
}
void push_back(int value) {
while(!deq.empty() && value > deq.back()){
deq.pop_back();
}
q.push(value);
deq.push_back(value);
}
int pop_front() {
if(q.empty()){
return -1;
}
if(deq.front() == q.front()){
deq.pop_front();
}
int ans = q.front();
q.pop();
return ans;
}
};
边栏推荐
- JMeter中如何实现接口之间的关联?
- Properties of Gaussian distribution (including code)
- 电脑绘画软件哪个好用:试试Artweaver Plus吧,媲美sai绘画软件 | 最新版本的artweaver下载
- MySQL addition, deletion, query and modification (basic)
- Web semantics (emphasis tag EM italic) (emphasis tag strong bold) (custom list: DL, DT, DD)
- Work fishing clock simulator wechat applet source code
- 动态管理内存的通讯录实现
- Doris学习笔记之查询
- 针孔微创牙龈手术(Pinhole Gum Rejuvenation)
- AI 之 OpenCvSharp 大圖找小圖(案例版)
猜你喜欢

A robust deformation convolution neural network image denoising

XX City high school network topology overall planning configuration

NIM boben problem

STM32串口发送和接收多个数据教程基于气体传感器实战

Boston house price analysis assignment summary

Subline快捷操作

神器网站目录,全都是刚需好用的网站

Number of supported question banks and examination question banks of swiftui examination question bank project (tutorial includes source code)

渗透测试-02漏洞扫描

第二章:新闻主题分类任务
随机推荐
第一章 绪论
No, check it out
FRRouting使用
Oracle closes the recycle bin
自然语言处理 知识点积累
电脑绘画软件哪个好用:试试Artweaver Plus吧,媲美sai绘画软件 | 最新版本的artweaver下载
Receiver operating curve
TS的使用案例——贪吃蛇
【LeetCode】735. Planetary collision
SparkCore核心设计:RDD,220716,
Chapter II: news topic classification tasks
STM32 serial port sending and receiving multiple data tutorial based on gas sensor practice
Implementation of address book for dynamic memory management
Thinkphp5.0 model operation uses page for paging
Penetration test-02 vulnerability scanning
Nim博奔问题
Frequency school and Bayes school
Matlab绘制激活函数sigmoid,Relu
树莓派配置
Chapter I Introduction