zoukankan      html  css  js  c++  java
  • 剑指Offer-包含min函数的栈

    题目描述

    定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

    思路

    用一个栈data保存数据,用另外一个栈min保存入栈最小的数

    代码实现

    package Stack;
    
    import java.util.Stack;
    
    /**
     * 包含min函数的栈
     * 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
     * 思路:
     * 用一个栈data保存数据,用另外一个栈min保存入栈最小的数
     */
    public class Solution25 {
    
        Stack<Integer> date = new Stack<>();//存储数据
        Stack<Integer> min = new Stack<>();//存储最小值
    
    
        public void push(int node) {
            date.push(node);
            if (min.empty()) {
                min.push(node);
            } else {
                min.push((min.peek()) > node ? node : min.peek());//min栈顶始终是最小值
            }
        }
    
        public void pop() {
            date.pop();
            min.pop();
        }
    
        public int top() {
            return date.peek();
        }
    
        public int min() {
            return min.peek();
        }
    }
    
    
  • 相关阅读:
    2019ICPC上海站
    “浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛(2018)
    集合问题
    后缀数组
    141. 周期(KMP)
    求和(矩阵快速幂)
    大数(KMP)
    1270: [蓝桥杯2015决赛]完美正方形
    AC自动机
    8.26作业
  • 原文地址:https://www.cnblogs.com/wupeixuan/p/8623195.html
Copyright © 2011-2022 走看看