面试题 03.02. 栈的最小值

思路:两个栈,一个存数据,一个存当前最小值

class MinStack {
public:stack<int> s1;stack<int> s2;MinStack() {}void push(int x) {s1.push(x);if(s2.size()==0 || x<s2.top()) s2.push(x);else s2.push(s2.top());}void pop() {s1.pop();s2.pop();}int top() {return s1.top();}int getMin() {return s2.top();}
};

面试题 03.02. 栈的最小值相关推荐

  1. 面试题 03.02. 栈的最小值/面试题30. 包含min函数的栈/155. 最小栈

    2020-05-10 1.题目描述 栈的最小值 2.题解 需要牺牲空间换时间,可以用vector来存储至当前元素的最小值,在push或者pop元素的时候需要更新. 3.代码 class MinStac ...

  2. 面试题 03.05. 栈排序

    面试题 03.05. 栈排序 思路:2个栈,data存储顺序,help帮助data存储排序 class SortedStack { public:stack<int> data, help ...

  3. 程序员面试金典 - 面试题 03.05. 栈排序(两栈)

    1. 题目 栈排序. 编写程序,对栈进行排序使最小元素位于栈顶. 最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中. 该栈支持如下操作:push.pop.peek 和 ...

  4. 面试题 03.04. 化栈为队/面试题09. 用两个栈实现队列/232. 用栈实现队列

    2020-05-08 1.题目描述 用两个栈实现一个队列 2.题解 将一个栈用来进行入操作,另一个进行出操作,入栈直接入,出栈的时候如果是空的则把另一个 栈中的所有元素移动过来,再进行出栈,否则直接出 ...

  5. 面试题 03.03. 堆盘子

    面试题 03.03. 堆盘子 输入: ["StackOfPlates", "push", "push", "push", ...

  6. LeetCode 面试题 10.02. 变位词组

    面试题 10.02. 变位词组 Ideas 互为变位词的两个字符串包含的字符相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,可以将排序之后的字符串作为哈希表的键. 在Python里面有 ...

  7. [剑指offer]面试题22:栈的压入、弹出序列

    面试题22:栈的压入.弹出序列 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1.2.3.4.5 是某栈的压栈序列,序 ...

  8. 【LeetCode】面试题 03. 数组中重复的数字

    [LeetCode]面试题 03. 数组中重复的数字 文章目录 [LeetCode]面试题 03. 数组中重复的数字 一.遍历数组 二.原地置换 总结 一.遍历数组 由于只需要找出数组中任意一个重复的 ...

  9. 面试题 03.06. 动物收容所

    面试题 03.06. 动物收容所 思路:队列,记录猫和狗,all记录当前最老的是猫还是狗 class AnimalShelf { public:queue<vector<int> & ...

最新文章

  1. 金融行业安全漏洞分析报告
  2. 安徽池州贵池中学老师经典语录,我喷了
  3. 在web html页面中,打印、预览当前页面
  4. golang中的redigo
  5. AR、美颜、机器人:计算机视觉库几乎无所不在
  6. 【转】Docker —— 从入门到实践
  7. Java heap space设置方法记录
  8. 【8-20】java学习笔记02
  9. 安装navicat之后双击就会闪退_Adobe 2020版本,安装教程来咯
  10. python 浮点数最小值_PYTHON学习笔记(3)——基本数据类型
  11. linux c 将虚拟地址转化为物理地址_面试不懂 Linux 内存管理?我用 20 张图给你讲明白...
  12. 【2019牛客暑期多校训练营(第三场)- A】Graph Games(思维,对边分块)
  13. spring boot maven项目返回值乱码的解决方法
  14. 持续集成部署Jenkins工作笔记0011---配置构建命令并手动执行一次构建
  15. php随笔10-thinkphp 3.1.3 模板继承 布局
  16. 每天一个linux命令:du 与 df
  17. JSON 解析之 GSON
  18. eset nod32 v11无限试用补丁
  19. CSS cursor鼠标样式一览表
  20. 2012年4月份第3周51Aspx源码发布详情

热门文章

  1. 编程范式之rotate操作
  2. java 杭电1237简单计算器
  3. 学习GNU Make (1)(转)
  4. java继承数组实例_【Java】理解封装、继承、多态和对象数组的综合实例(简易的租车系统,附代码)...
  5. android 获取图片上某一个文字位置_android 获取手机中的所有图片或某一目录下的图片方法...
  6. centos 调整home分区xfs_centos下扩容根分区(针对xfs和ext4不同文件系统)
  7. python 生成器对象_Python 生成器, 迭代器, 可迭代对象的区别
  8. matlab双极性眼图,实验报告三编程做单极性码眼图仿真
  9. axure中备注线_1分钟K线、日K线、月K线……不同周期的K线图到底有啥用?
  10. python装饰器模式带参数_Python装饰器使用实例:验证参数合法性 请教Python 使用装饰器实现单例模式的原理...