java基础编程——获取栈中的最小元素
Posted MichaelKai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础编程——获取栈中的最小元素相关的知识,希望对你有一定的参考价值。
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
题目代码
/** * Created by YuKai Fan on 2018/9/5. */ public class MinStack{ Stack<Integer> dataStack = new Stack<>(); Stack<Integer> minStack = new Stack<>(); public static void main(String[] args) { MinStack minstack = new MinStack(); minstack.push(5); minstack.push(7); minstack.push(3); minstack.push(4); /*System.out.println(minstack.pop()); System.out.println(minstack.pop());*/ System.out.println("min="+minstack.min()); } public void push(int num) { dataStack.push(num); if (minStack.isEmpty() || num < minStack.peek()) { minStack.push(num); } else { minStack.push(minStack.peek()); } } public void pop() { dataStack.pop(); minStack.pop(); } public int top() { return dataStack.peek(); } public int min() { return minStack.peek(); } }
以上是关于java基础编程——获取栈中的最小元素的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 155. 最小栈(栈 Stack,Java)