首页 > 其他分享 >最小栈

最小栈

时间:2023-02-18 19:23:09浏览次数:31  
标签:function MinStack val 最小 pop minValue return

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。

实现 MinStack 类:

  • MinStack() 初始化堆栈对象。
  • void push(int val) 将元素val推入堆栈。
  • void pop() 删除堆栈顶部的元素。
  • int top() 获取堆栈顶部的元素。
  • int getMin() 获取堆栈中的最小元素。
function MinStack() {
    this.stack = []
    this.minValue = [Number.MAX_VALUE]
};

/** 
 * @param {number} val
 * @return {void}
 */
MinStack.prototype.push = function (val) {
    this.stack.push(val)
    this.minValue.push(Math.min(val, this.minValue[this.minValue.length - 1]))
};

/**
 * @return {void}
 */
MinStack.prototype.pop = function () {
    this.minValue.pop()
    return this.stack.pop()
};

/**
 * @return {number}
 */
MinStack.prototype.top = function () {
    return this.stack[this.stack.length - 1]
};

/**
 * @return {number}
 */
MinStack.prototype.getMin = function () {
    return this.minValue[this.minValue.length - 1]
};

  

标签:function,MinStack,val,最小,pop,minValue,return
From: https://www.cnblogs.com/zhenjianyu/p/17133336.html

相关文章