题目描述:

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

思路分析:

  设置两个栈,一个push,一个放置最小元素。

代码:

import java.util.Stack;

public class Solution {

    Stack<Integer>s1=new Stack<>();
Stack<Integer>s2=new Stack<>();
public void push(int node) {
s1.push(node);
if(s2.isEmpty())
s2.push(node);
if(node<=s2.peek())
s2.push(node);
} public void pop() {
if(s1.peek()==s2.peek()){
s2.pop();
}
s1.pop();
} public int top() {
return s1.peek();
} public int min() {
return s2.peek();
}
}

最新文章

  1. 23种设计模式--责任链模式-Chain of Responsibility Pattern
  2. winform程序一启动抛出异常--调用目标发生异常
  3. c#面向对象基础技能——学习笔记(二)基于OOP思想研究对象的【属性】
  4. mui scroll和上拉加载/下拉刷新
  5. python---map,filter,reduce
  6. PHP 表单验证
  7. bzoj1008 [HNOI2008]越狱
  8. js控制打印 转的
  9. 滚动视图和页面控制UIScollView,UIpageControlDemo
  10. poj3041,poj2226
  11. nodejs-日常练习记录-使用express搭建static服务器.
  12. nyoj 素数环
  13. 从汇编看c++内联函数评估求值
  14. 字符串匹配算法1-KMP
  15. Python-方法重载的问题
  16. Redis字符串类型相关操作命令
  17. 件测试博客日记Day03-11.17日 —— 赵天宇 —— 禅道的使用和配置详细版
  18. 《认知与设计:理解UI设计准则》【PDF】下载
  19. 执行PHP脚本时遇到 mysql_connect(): Headers and client library minor version mismatch的解决方法
  20. AngularJs 笔记

热门文章

  1. Linux常用的编辑保存退出命令
  2. 一次Mono解析Excel文档编码出错排查记录
  3. C++深度解析教程学习笔记(2)C++中的引用
  4. linux驱动开发的经典书籍
  5. thread常用方法
  6. 跨域Ajax原理以及浏览器同源策略
  7. 吐槽下linq to sql的分页功能
  8. Python_pip_01_pip的相关操作
  9. Python 网络爬虫 007 (编程) 通过网站地图爬取目标站点的所有网页
  10. Windows系统 安装 Qt 5.7.0