这题评分是Easy。。。我第一次做觉得一点也不easy啊。。。主要是你要求constant time 取min这个太难了。 Top我们可以按普通stack的方法实现。但是不让排序怎么找Min啊。。
答案用了一个min的变量储存所有见过的最小值。 stack.push看看有没有比min小,更小的话改变min的值。
有一个东西看漏了。。stack.push(min) 这招太屌了! 比如原本min 为 -1, 我现在要push进 -2, 比原本min小,那么把原本min push到最顶上,然后把新的东西放在stack最顶上。这样用来保存上一个最小的min。
【pop是我一直比较担心的,万一我们把min给pop了,新的min是多少呀???】
它的做法是如果我们要pop min, 多pop一次, 然后让min 变成上一次的min value.