class MaxQueue {
public:
deque<int> dq;
queue<int> q;
MaxQueue() {
}
int max_value() {
if (dq.empty())
{
return -1;
}
else
{
return dq.front();
}
}
void push_back(int value) {
q.push(value);
while (!dq.empty() && dq.back() < value)
{
dq.pop_back();
}
dq.push_back(value);
}
int pop_front() {
if (q.empty())
{
return -1;
}
int ans = q.front();
if (ans == dq.front())
{
dq.pop_front();
}
q.pop();
return ans;
}
};
LeetCode剑指 Offer 59 - II. 队列的最大值
猜你喜欢
转载自blog.csdn.net/qq_32862515/article/details/109293025
今日推荐
周排行