Stack

最大栈,最小栈,要求能实时返回栈中最大值或者最小值的

就需要两个栈,一个栈是正常操作,另一个栈专门记录到此数为止的最大值,最小值

pop没啥说的,两个一起Pop

push的时候进行比较,最大栈来说,如果说顶端是比我要进去的数大的,那我就还是push最大栈栈顶value

如果是进入的value比最大栈栈顶大的,那就Push value


单调栈!

seecows. 数所有牛能看到的牛的头数

其实等同于数多少牛能被其他牛看见的个数

用到了单调递减栈

保证栈中元素始终是个单调递减序列,如果一旦有数字要Push是不满足条件,我们就要不停Pop,当然在Pop的时候要计算,他能被前面的多少头牛看到了,加到一起就是我们的结果



Stack_第1张图片

你可能感兴趣的:(Stack)