首页 > 编程语言 > 详细

java基础编程——获取栈中的最小元素

时间:2018-09-05 21:19:19      阅读:183      评论:0      收藏:0      [点我收藏+]

题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的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基础编程——获取栈中的最小元素

原文:https://www.cnblogs.com/FanJava/p/9594114.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!