美文网首页
包含Min函数的栈_19

包含Min函数的栈_19

作者: 别拿爱情当饭吃 | 来源:发表于2018-10-24 16:59 被阅读6次

一、题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
二、解题思路
@周旭龙


Min栈.png

从上图可以看出来,无非就是用一个辅助栈minStack,来记录最小的数。

三、代码实现

public class Solution {
 private Stack<Integer> dataStack;
    private Stack<Integer> minStack;
    //构造方法不能带泛型
    public Solution(){
        this.dataStack = new Stack<>();
       this.minStack = new Stack<>();
    }
    
   public void push(int node) {
        //数据栈压栈
        dataStack.push(node);

        if(minStack.isEmpty()||minStack.peek()>node){
            minStack.push(node);
        }else{
            minStack.push(minStack.peek());
        }
    }

    public void pop() {
        if(dataStack.isEmpty()){
            return;
        }
        dataStack.pop();
        minStack.pop();
    }

    public int top() {
        return this.dataStack.peek();
    }

    public int min() {
        return this.minStack.peek();
    }
}

相关文章

  • 包含Min函数的栈_19

    一、题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。...

  • 【栈】包含min函数的栈

  • 【34】包含min函数的stack

    【34】包含min函数的stack 题目: 实现一个包含min函数的栈,min和push,pop都是o(1)时间 ...

  • 包含min函数的栈

    定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

  • 包含 min 函数的栈

    题目要求:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数。在该栈中,调用 min、pu...

  • 包含Min函数的栈

    时间 2018/10/14?环境:牛客的编译环境?语言:JavaScript☕️难点:这道题的难点在于不能直接用一...

  • 包含min函数的栈

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 ...

  • 包含min函数的栈

    定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 首先我们可...

  • 包含min函数的栈

    题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

  • 包含min函数的栈

    LeetCode 155. Min Stack设计一个栈,支持如下操作,这些操作的算法复杂度需要是常数级,O(1)...

网友评论

      本文标题:包含Min函数的栈_19

      本文链接:https://www.haomeiwen.com/subject/gvextqtx.html