最小值双栈

准备两个栈构成新的栈结构 一个栈把所有的元素都压进去,作为一个普通栈(数据栈) 另外一个栈每次压入最小的数(最小值栈):每有一个数进栈时,都跟这个最小值栈的栈顶比较大小,如果更小,则把新的数压入两个栈中,如果大于栈顶的数,则把新的数压入数据栈,最小值栈重复压入当前最小值 这样的话,两个栈的元素都是一样多的,可以做到三个操作都是O(1) 每次取数,都在各自的栈里边取数 import java.uti
相关文章
相关标签/搜索