class Stuck extends Array {
constructor(name) {
super(name)
this.stuckData = []
this.stuckMin = []
}
push(item) {
const stuckMin = this.stuckMin
const stuckData = this.stuckData
stuckData.push(item)
if(stuckMin.length === 0) { stuckMin.push(item) }
else if(item > stuckMin.at(-1)) { stuckMin.push(stuckMin.at(-1)) }
else { stuckMin.push(item) }
}
pop(item) {
const stuckMin = this.stuckMin
const stuckData = this.stuckData
stuckMin.pop()
return stuckData.pop()
}
getMin(){
return this.stuckMin.at(-1)
}
}