博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Min Stack
阅读量:5291 次
发布时间:2019-06-14

本文共 1385 字,大约阅读时间需要 4 分钟。

Min Stack

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

  • push(x) -- Push element x onto stack.
  • pop() -- Removes the element on top of the stack.
  • top() -- Get the top element.
  • getMin() -- Retrieve the minimum element in the stack.
1 class MinStack { 2         List
stack = new ArrayList
(); 3 int top = -1; 4 int min = Integer.MAX_VALUE; 5 6 public void push(int x) { 7 top++; 8 stack.add(x); 9 if(min > x){10 min = x;11 12 }13 14 }15 16 public void pop() {17 18 int element = stack.remove(top--);19 if(element == min)20 { 21 updateMin(); 22 23 }24 }25 26 public int top() {27 int result = stack.get(top);28 29 return result;30 }31 32 public int getMin() {33 34 return this.min;35 }36 public void updateMin(){37 if(top == -1)38 {39 min = Integer.MAX_VALUE; 40 return;41 }42 min = stack.get(0);43 for(int i = 1; i <= top; i++){44 if(min > stack.get(i))45 min = stack.get(i);46 }47 }48 }

 

转载于:https://www.cnblogs.com/luckygxf/p/4087199.html

你可能感兴趣的文章
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
#ifndef #define #endif
查看>>
css背景样式
查看>>
JavaScript介绍
查看>>
js中函数与对象的使用
查看>>
正则表达式
查看>>
开源网络漏洞扫描软件
查看>>
yum 命令跳过特定(指定)软件包升级方法
查看>>
创新课程管理系统数据库设计心得
查看>>
Hallo wolrd!
查看>>
16下学期进度条2
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
springBoot配置elasticsearch搜索
查看>>
Chapter 3 Phenomenon——12
查看>>
中小学教育缴费遇到的一些问题
查看>>
FAIR开源Detectron:整合全部顶尖目标检测算法
查看>>
C语言中求最大最小值的库函数
查看>>
SRS
查看>>
14.typescript-类与接口
查看>>