class MyQueue{
private Deque<Integer> qu = new LinkedList<>();
/**
* 新增元素,n > 队尾元素,则队尾元素出队,直到空
* @param n
*/
public void add(Integer n){
while(!qu.isEmpty() && qu.getLast() < n){
qu.removeLast();
}
qu.add(n);
}
/**
* 从队头开始移除一个等于n的元素
* @param n
*/
public void remove(Integer n){
while (!qu.isEmpty() && qu.peek().equals(n)) {
qu.pop(); break;
}
}
/**
* 返回队头元素,该元素为最大元素
* @return
*/
public Integer peek(){
return qu.peek();
}
}
单调递减队列
猜你喜欢
转载自blog.csdn.net/Linging_24/article/details/130589868
今日推荐
周排行