• 155. 最小栈


    设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。

    push(x) -- 将元素 x 推入栈中。
    pop() -- 删除栈顶的元素。
    top() -- 获取栈顶元素。
    getMin() -- 检索栈中的最小元素

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/min-stack

     1 package basic.queue_stack;
     2 
     3 import java.util.Stack;
     4 
     5 public class MinStack {
     6     private Stack<Integer> dataStack;
     7     private Stack<Integer> minStack;
     8     private int min;
     9     
    10     public MinStack() {
    11         dataStack = new Stack<>();
    12         minStack = new Stack<>();
    13         min = Integer.MAX_VALUE;
    14     }
    15     
    16     public void push(int item) {
    17         dataStack.push(item);
    18         min = Math.min(min, item);  //两个栈中的数据总数始终相等,弹栈时无需比较,minStack可以直接弹栈
    19         minStack.push(min);
    20     }
    21     
    22     public void pop() {
    23         dataStack.pop();
    24         minStack.pop();
    25         min = minStack.isEmpty() ? Integer.MAX_VALUE : minStack.peek();
    26     }
    27     
    28     public int top() {
    29         return dataStack.peek();
    30     }
    31     
    32     public int getMin() {
    33         return minStack.peek();
    34     }
    35 }
    无论有多困难,都坚强的抬头挺胸,人生是一场醒悟,不要昨天,不要明天,只要今天。不一样的你我,不一样的心态,不一样的人生,顺其自然吧
  • 相关阅读:
    hinge loss
    KL散度
    pygame 学习
    pytorch 反向传播
    在线画数学函数图
    recover deleted files
    98个关键点的人脸
    Pytorch详解BCELoss和BCEWithLogitsLoss
    one hot vector
    Effective C++
  • 原文地址:https://www.cnblogs.com/xiyangchen/p/11192523.html
Copyright © 2020-2023  润新知