码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:代码   tac   ati   ret   rgs   []   ISE   title   subject   

题目描述

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

标签:代码   tac   ati   ret   rgs   []   ISE   title   subject   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!