首页 > 代码库 > Min Stack
Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- getMin() -- Retrieve the minimum element in the stack.
要求构建一个能随时返回最小值的栈 所以在执行 push和pop操作时 要对最小值进行更新 代码如下:
class MinStack { Stack<Integer> sta=new Stack<>(); int min=Integer.MAX_VALUE; public void push(int x) { sta.push(x); if(x<=min) min=x; } public void pop() { int a=sta.peek(); sta.pop(); if(a==min){ min=Integer.MAX_VALUE; if(!sta.isEmpty()){ for(int b:sta){ if(b<=min) min=b; } } } } public int top() { return sta.peek(); } public int getMin() { if(sta.isEmpty()) return 0; else return min; }}
Min Stack
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。