题目地址:链接
思路: 栈。值val传入栈时同时,同时记录最小值min。
- top:栈顶 val
- getMin:栈顶 min
class MinStack {
private stk:number[][]
constructor() {
this.stk = [];
}
push(val: number): void {
this.stk.push([val, Math.min(this.getMin(), val)]);
}
pop(): void {
this.stk.pop();
}
top(): number {
let n = this.stk.length;
return this.stk[n - 1][0];
}
getMin(): number {
if(!this.stk.length) return Infinity;
let n = this.stk.length;
return this.stk[n - 1][1];
}
}
/**
* Your MinStack object will be instantiated and called as such:
* var obj = new MinStack()
* obj.push(val)
* obj.pop()
* var param_3 = obj.top()
* var param_4 = obj.getMin()
*/
8万+

被折叠的 条评论
为什么被折叠?



