题目链接
var MaxQueue = function() {
this.queue = [];
this.deque = [];
};
/**
* @return {number}
*/
MaxQueue.prototype.max_value = function() {
if(this.deque.length>0){
return this.deque[0];
}
return -1;
};
/**
* @param {number} value
* @return {void}
*/
MaxQueue.prototype.push_back = function(value) {
while(this.deque.length>0 && value > this.deque[this.deque.length-1]){
this.deque.pop();
}
this.deque.push(value);
this.queue.push(value);
};
/**
* @return {number}
*/
MaxQueue.prototype.pop_front = function() {
if(this.queue.length === 0){
return -1;
}
let res = this.queue.shift();
if(res === this.deque[0]){
this.deque.shift();
}
return res;
};