包含min函数的栈(leetcode每日打卡)

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了包含min函数的栈(leetcode每日打卡)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。

示例:

MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.min();   --> 返回 -3. minStack.pop(); minStack.top();      --> 返回 0. minStack.min();   --> 返回 -2.

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class MinStack {
    Stack<Integer> stack1;
    Stack<Integer> stack2;
    /** initialize your data structure here. */
    public MinStack() {
        stack1=new Stack<Integer>();
        stack2=new Stack<Integer>();
    }
    
    public void push(int x) {
        stack1.add(x);
        if(stack2.empty()||x<=stack2.peek()){
            stack2.add(x);
        }
    }
    
    public void pop() {
        
        if(stack1.peek().equals(stack2.peek())){
            stack2.pop();
        }
        stack1.pop();
    }
    
    public int top() {
      return  stack1.peek();
    }
    
    public int min() {
      return  stack2.peek();
    }
}

/**
 * Your MinStack object will be instantiated and called as such:
 * MinStack obj = new MinStack();
 * obj.push(x);
 * obj.pop();
 * int param_3 = obj.top();
 * int param_4 = obj.min();
 */

 

脚本宝典总结

以上是脚本宝典为你收集整理的包含min函数的栈(leetcode每日打卡)全部内容,希望文章能够帮你解决包含min函数的栈(leetcode每日打卡)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: