zoukankan      html  css  js  c++  java
  • JZ020包含 min 函数的栈

    包含 min 函数的栈

    题目描述

    定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

    题目链接: 包含 min 函数的栈

    代码

    import java.util.Stack;
    
    /**
     * 标题:包含 min 函数的栈
     * 题目描述
     * 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
     * 题目链接:
     * https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=13&&tqId=11173&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
     */
    public class Jz20 {
    
        private Stack<Integer> datas = new Stack<Integer>();
        private Stack<Integer> minDatas = new Stack<Integer>();
    
        public void push(int node) {
            datas.push(node);
            if (minDatas.isEmpty()) {
                minDatas.push(node);
            } else if (node <= minDatas.peek()) {
                minDatas.push(node);
            }
        }
    
        public void pop() {
            int popData = datas.pop();
            if (popData == minDatas.peek()) {
                minDatas.pop();
            }
        }
    
        public int top() {
            return datas.peek();
        }
    
        public int min() {
            return minDatas.peek();
        }
    }
    

    【每日寄语】 看似不起眼的日复一日,会在将来的某一天,突然让你看到坚持的意义。

  • 相关阅读:
    连接池的配置与维护
    对面向对象的理解
    ActiveMQ重试机制
    activemq持久化的几种方式详解
    zookeeper写数据流程
    G1垃圾回收器
    REDIS哨兵模式和集群模式
    REDIS复制
    REDIS参数配置和运行状态
    slow-log 和bin-log相关参数介绍
  • 原文地址:https://www.cnblogs.com/kaesar/p/15665182.html
Copyright © 2011-2022 走看看