举例让抽象问题具体化:包含min函数的栈
2016-08-28 10:38
274 查看
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。
import java.util.Stack; public class Solution { Stack<Integer> dataStack = new Stack<Integer>(); Stack<Integer> minStack = new Stack<Integer>(); public void push(int node) { Integer temp = new Integer(node); dataStack.push(temp); if (minStack.empty()) { minStack.push(temp); } else { int min = minStack.peek().intValue(); if (node > min) { minStack.push(minStack.peek()); } else { minStack.push(temp); } } } public void pop() { dataStack.pop(); minStack.pop(); } public int top() { return dataStack.peek(); } public int min() { return minStack.peek(); } }
相关文章推荐
- 【剑指offer】4.3举例让抽象问题具体化——面试题21:包含min函数的栈
- (C++)剑指offer-20:包含min函数的栈(举例让抽象具体化)
- 《剑指offer》刷题笔记(举例让抽象具体化):包含min函数的栈
- 剑指offer 21题 【举例让抽象具体化】包含min函数的栈
- 剑指offer:(22)举例让抽象问题具体化 :栈的压入,弹出序列
- 剑指offer:(25)举例让抽象问题具体化 :二叉搜索树的后序遍历序列
- 剑指offer:(23)举例让抽象问题具体化 :二叉搜索树的后序遍历序列
- 剑指offer 4.3 举例形象化问题1- 包含Min函数的栈
- 【剑指offer】4.3举例让抽象问题具体化——面试题22:栈的压入、弹出序列
- 举例让抽象问题具体化:从上往下打印二叉树
- 举例让抽象问题具体化:二叉树中和为某一值的路径
- 【剑指offer】4.3举例让抽象问题具体化——面试题25:二叉树中和为某一值的路径
- 举例让抽象问题具体化:二叉搜索树的后序遍历序列
- 【剑指offer】4.3举例让抽象问题具体化——面试题23:从上往下打印二叉树
- 【剑指offer】4.3举例让抽象问题具体化——面试题24:二叉搜索树的后序遍历序列
- 举例让抽象问题具体化:栈的压入、弹出序列
- 剑指offer 算法 (举例让抽象具体化)
- js常见兼容性问题举例包含完整代码
- 剑指offer 22题 【举例让抽象具体化】栈的压入、弹出序列
- 《剑指offer》刷题笔记(举例让抽象具体化):二叉搜索树的后序遍历序列