주제
생각의 기차
스택: 배열의 선입선출에 해당하는 push() 및 pop() 함수
- 첫 번째 단계는 스토리지용 어레이를 만드는 것입니다.
- 푸시를 통해 저장하면 val과 min이라는 두 개의 속성 자식이 있는 개체로 저장됩니다. 현재 저장된 값과 현재 저장된 모든 값 중 최소값에 해당합니다.
- 새 개체가 푸시되면 min이 업데이트됩니다.
코드
var MinStack = function() {
this.arr=[]
};
/**
* @param {number} x
* @return {void}
*/
MinStack.prototype.push = function(x) {
this.arr.push({
val:x,
min: this.arr.length ? Math.min( x, this.min()) : x,
})
};
/**
* @return {void}
*/
MinStack.prototype.pop = function() {
this.arr.pop()
};
/**
* @return {number}
*/
MinStack.prototype.top = function() {
return this.arr[this.arr.length-1].val
};
/**
* @return {number}
*/
MinStack.prototype.min = function() {
return this.arr[this.arr.length-1].min
};