Skip to content

Files

Latest commit

7a7d3f2 · Oct 20, 2020

History

History

0716.Max Stack

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Oct 20, 2020
Oct 20, 2020

English Version

题目描述

设计一个最大栈,支持 push、pop、top、peekMax 和 popMax 操作。

 

  1. push(x) -- 将元素 x 压入栈中。
  2. pop() -- 移除栈顶元素并返回这个值。
  3. top() -- 返回栈顶元素。
  4. peekMax() -- 返回栈中最大元素。
  5. popMax() -- 返回栈中最大的元素,并将其删除。如果有多个最大元素,只要删除最靠近栈顶的那个。

 

样例 1:

MaxStack stack = new MaxStack();
stack.push(5); 
stack.push(1);
stack.push(5);
stack.top(); -> 5
stack.popMax(); -> 5
stack.top(); -> 1
stack.peekMax(); -> 5
stack.pop(); -> 1
stack.top(); -> 5

 

注释:

  1. -1e7 <= x <= 1e7
  2. 操作次数不会超过 10000。
  3. 当栈为空的时候不会出现后四个操作。

 

解法

Python3

Java

...