LeetCode-Easy刷题(33) Min Stack
来源:互联网 发布:数据库的设计原则答案 编辑:程序博客网 时间:2024/06/05 18:03
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.
Example:
MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.getMin(); --> Returns -3.minStack.pop();minStack.top(); --> Returns 0.minStack.getMin(); --> Returns -2.
创建一个栈对象,实现相应的方法.
public class MinStack { private int top = 0; private int[] stack; private int[] minStack; private int minTop=-1; /** initialize your data structure here. */ public MinStack() { stack = new int[8]; minStack = new int[8]; } public void push(int x) { stack[top] = x; if(minTop <0 ||minStack[minTop] >=x){ minTop++; minStack[minTop] = x; } if(minTop>=minStack.length-1){ int[] newStack = new int[top*2]; for (int i = 0; i < minStack.length; i++) { newStack[i] = minStack[i]; } minStack = newStack; } top++; if(top >=stack.length){ int[] newStack = new int[top*2]; for (int i = 0; i < stack.length; i++) { newStack[i] = stack[i]; } stack = newStack; } } public void pop() { int remove = stack[top-1]; stack[top-1]=0; top--; if(remove ==minStack[minTop]){ minStack[minTop] = 0; minTop--; } } public int top() { return stack[top-1]; } public int getMin() { return minStack[minTop]; }}
阅读全文
0 0
- LeetCode-Easy刷题(33) Min Stack
- [Leetcode 155, Easy] Min Stack
- 【Leetcode-Easy-155】 Min Stack
- Leetcode 155. Min Stack (Easy) (cpp)
- Min Stack[Easy]
- LeetCode[stack]: Min Stack
- [leetcode][stack] Min Stack
- 155. Min Stack [easy] (Python)
- Easy 155题 Min Stack
- 155.Min Stack(Stack-Easy)
- LeetCode刷题 (Python) | 155. Min Stack
- 【Leetcode】Min Stack
- Leetcode: Min Stack
- leetcode Min stack
- Min Stack -- LeetCode
- Leetcode: Min Stack
- 【LeetCode】Min Stack
- leetcode Min Stack
- LeetCode-Easy刷题(32) Linked List Cycle
- 自定义ToolBar 头部
- CentOS7安装后基本设置
- gulp入门指南
- JSON详解
- LeetCode-Easy刷题(33) Min Stack
- HashMap实现原理介绍
- web框架简介
- android java process stack OOM
- 两种红外解码方法(RC-5)
- 蓝桥杯练习题之 Fibonacci数列
- git 命令
- OOALV单个container放置多个ALV grid
- 小东吖 之 java的基础知识以及break 和 continue 关键字的使用