最小栈
发布于 2022-03-03 22:33:57
实现一个最小栈,有三种操作,min:得到栈中的最小值,push:在栈顶插入一个元素,pop:弹出栈顶元素,使这三种操作的时间复杂度都是O(1)
要求:语言不限 输入描述: 第一行是一个数Q,接下来Q行每行表示一个操作,每行首先是操作op
若op==0,则输出当前栈中的最小值;
若op==1,表示push,接着正整数x,把在x放进栈顶;
若op==2,表示pop,弹出栈顶元素
保证Q<=500000,保证op==0或2时(即min操作和pop操作时)栈不为空。
你可以假设一开始栈的空的。输入样例: 7 1 3 1 4 0 1 2 0 2 0 输出描述: 对应每个op==0或2,如果是op==0输出当前栈中的最小值,如果是op==2输出弹出的元素。输出样例 3 2 2 3
要求:语言不限 输入描述: 第一行是一个数Q,接下来Q行每行表示一个操作,每行首先是操作op
若op==0,则输出当前栈中的最小值;
若op==1,表示push,接着正整数x,把在x放进栈顶;
若op==2,表示pop,弹出栈顶元素
保证Q<=500000,保证op==0或2时(即min操作和pop操作时)栈不为空。
你可以假设一开始栈的空的。输入样例: 7 1 3 1 4 0 1 2 0 2 0 输出描述: 对应每个op==0或2,如果是op==0输出当前栈中的最小值,如果是op==2输出弹出的元素。输出样例 3 2 2 3
关注者
0
被浏览
8