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

     

    题目描述

    定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
     
    建一个辅助栈,把每次最小最小的元素(之前最小元素,与当前新入栈的元素比较)放在辅助栈里。
     
     1 import java.util.Stack;
     2 
     3 public class Solution {
     4     Stack<Integer> stack = new Stack<Integer>();
     5     Stack<Integer> min = new Stack<Integer>();
     6     public void push(int node) {
     7         if(stack.empty()){
     8             stack.push(node);
     9             min.push(node);
    10         }
    11         else{
    12             if(node < min.peek())
    13                 min.push(node);
    14             else 
    15                 min.push(min.peek());
    16             stack.push(node);
    17             }
    18         
    19     }
    20     
    21     public void pop() {
    22         stack.pop();
    23         min.pop();
    24     }
    25     
    26     public int top() {
    27         return stack.peek();
    28     }
    29     
    30     public int min() {
    31         return min.peek();
    32     }
    33 }
  • 相关阅读:
    CodeForces 514B
    CodeForces 514A
    UVa 818
    HDU 1003
    UVa百题总结
    UVa 11526
    UVa 12412
    UVa 211
    UVa 1587
    UVa 225 – Golygons [DFS+剪枝]
  • 原文地址:https://www.cnblogs.com/zle1992/p/7864874.html
Copyright © 2011-2022 走看看