var MinStack = function() {
this.arrA = [];
this.arrB = [];
};
MinStack.prototype.push = function(val) {
var a = this.arrA.length;
this.arrA[a] = val;
a &&( this.arrB[a] = (this.arrB[a-1] > val) ? val : this.arrB[a -1] ) || ( this.arrB[a] = val )
}
MinStack.prototype.pop = function() {
var a = this.arrA.length - 1;
this.arrA.length = a;
this.arrB.length = a;
};
MinStack.prototype.top = function( arr) {
var a = this.arrA.length - 1;
return this.arrA[a];
};
MinStack.prototype.getMin = function() {
var a = this.arrA.length - 1;
return this.arrB;
};
这个程序会在前n个数均大于0情况下,若第n+1个数等于零,切第n+2个数为大于0的任何数时出错。
例:[3,5,1,0,4,2,-1]
附运行图一张