算法-实现 出入栈,寻找最小值
  TEZNKK3IfmPf 2023年11月15日 21 0


先进后出

实现出栈入栈以及获取栈中最小值,主要是获取最小值

package algorithm.getminstack;

import java.util.Stack;

public class getMinStatck {
    private static Stack<Integer> mainStack = new Stack<Integer>();
    private static Stack<Integer> minStack = new Stack<Integer>();

    public static void push(int element) {
        mainStack.push(element);
        //维护最小值栈
        if (minStack.isEmpty()) {
            minStack.push(element);
        } else {
            if (minStack.peek() >= element) {
                minStack.push(element);
            }
        }
    }

    public static int pop() {
        int temp = mainStack.pop();
        //维护最小栈
        if (temp == minStack.peek()) {
            minStack.pop();
        }
        return temp;
    }

    public static int getMin() {
        return minStack.peek();
    }


    public static void main(String[] args) {
        // 4 9 7 3 8 5

        push(4);
        push(9);
        push(7);
        push(3);
        push(8);
        push(5);

        System.out.println();

        pop();
        System.out.println();

        getMin();
        System.out.println();
    }
}

需要注意的

维护最小值,在minstack中,是本题主要考察点

不会,我可以学;落后,我可以追赶;跌倒,我可以站起来!


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   22天前   48   0   0 java
  TEZNKK3IfmPf   2024年05月31日   55   0   0 java
TEZNKK3IfmPf