话说前几天小q去公司面试…
面试官:知道栈这种数据结构吗?
小q:知道啊,balabala…
面试官:那好,现在请你实现这样一种栈,除了pop,top,push三个操作之外,还需要包括查询栈中最小值的min操作。
小q:那简单啊,查询最小值的时候遍历一遍栈就可以了。
面试官:…
面试官:今天面试就到这里,你回家等通知去吧。
…………………
毫无疑问,小q这次面试是死的不能再死了。为了避免重蹈覆辙,小q向身为ACMer的Zeratul求助。但是Zeratul刚在青岛打了铁,正在痛哭流涕无心回答问题,于是小q就找到了同为ACMer的你。你能帮他解决这个问题吗?

准备两个栈,一个是正常存数的,另一个为记录最小值得栈。
最小值的栈入栈条件:新来的数小于等于当前栈顶的元素。
最小值的栈出栈条件:弹栈的数等于当前栈顶的元素值。

注:最小值的栈的初值初始化为0x3F3F3F3F

代码:

#include <iostream>
#include <stdio.h>
#include <stack>
using namespace std;int main()
{stack<int> stack1;stack<int> stackMin;int stack1Num = 0;int stackMinNum = 0;int T;int oper;int operNum;stackMin.push(0x3F3F3F3F);scanf("%d",&T);for(int i = 0;i < T;i ++){scanf("%d",&oper);if(oper == 0){scanf("%d",&operNum);stack1.push(operNum);stack1Num ++;if(operNum <= stackMin.top()){stackMin.push(operNum);stackMinNum ++;}}else if(oper == 1){if(stack1Num>0){printf("%d\n",stack1.top());}else{printf("ERROR!\n");}}else if(oper == 2){if(stackMinNum>0){printf("%d\n",stackMin.top());}else{printf("ERROR!\n");}}else if(oper == 3){if(stack1Num>0){int top = stack1.top();stack1.pop();stack1Num --;if(top == stackMin.top()){stackMin.pop();stackMinNum --;}}else{printf("ERROR!\n");}}}return 0;
}

DUTOJ-1013: 小q与面试题相关推荐

  1. 腾讯面试题、智力题、Java:小Q的父母要出差N天,走之前给小Q留下了M块巧克力

    题目 答案 import java.util.Arrays; import java.util.Scanner;public class Demo {public static void main(S ...

  2. Android实训做一个QQ的代码,腾讯2018安卓实习模拟笔试题——小Q硬币组合

    为什么每次看到这种题的超简短解题代码都会有一种"哇!"的感觉 题意 小Q非常富有,拥有非常多的硬币,小Q的拥有的硬币是有规律的,对于所有的非负整数K,小Q恰好各有两个数值为2^k的 ...

  3. 腾讯2018安卓实习模拟笔试题——小Q硬币组合

    为什么每次看到这种题的超简短解题代码都会有一种"哇!"的感觉 题意 小Q非常富有,拥有非常多的硬币,小Q的拥有的硬币是有规律的,对于所有的非负整数K,小Q恰好各有两个数值为2^k的 ...

  4. 腾讯----小Q的歌单

    腾讯----小Q的歌单 文章目录 腾讯----小Q的歌单 一.题目描述 二.分析 方法一:组合 方法二:动规 一.题目描述 小Q有X首长度为A的不同的歌和Y首长度为B的不同的歌,现在小Q想用这些歌组成 ...

  5. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...

  6. 牛客练习赛81 B. 小 Q 与彼岸花(FWT nlogn做法)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://ac.nowcoder.com/acm/contest/11171/B ...

  7. HDU 4505 小Q系列故事——电梯里的爱情

    小Q系列故事--电梯里的爱情                                                                                   Tim ...

  8. 腾讯----贪吃的小Q

    腾讯----贪吃的小Q 文章目录 腾讯----贪吃的小Q 一.题目描述 二.分析 三.代码 一.题目描述 小Q的父母要出差N天,走之前给小Q留下了M块巧克力.小Q决定每天吃的巧克力数量不少于前一天吃的 ...

  9. HDUOJ-----4510 小Q系列故事——为什么时光不能倒流

    小Q系列故事--为什么时光不能倒流 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) ...

  10. P3700 [CQOI2017]小Q的表格(反演、分块)

    P3700 [CQOI2017]小Q的表格 给定一个大小为n×nn \times nn×n的表格,初始时i,ji, ji,j位置上填的是f(i,j)=i×jf(i, j) = i \times jf( ...

最新文章

  1. python cookbook 2字符串 (1)
  2. android 相机 全功能,一加7系首个Android 11公测代码暗示了相机应用的诸多功能更新...
  3. 使用gdb调试多进程和多线程
  4. 【WIN10】WIN2D——基本圖形的繪製
  5. (98)FPGA边沿检测(下降沿检测)
  6. MongoDB数据访问[C#]
  7. Linux命令发送Http请求
  8. 【转】XP远程桌面连接2008提示:远程计算机需要网络级别身份验证,而您的计算机不支持该验证 ....
  9. Nacos 1.3.0 来了,基于全新内核构建!
  10. 化学式中间的点怎么打?
  11. 【openGL2021版】天空盒
  12. java逻辑常量两种,JAVA常量
  13. 【COGS】1752. [BOI2007]摩基亚Mokia cdq分治模板题
  14. Android播放M3U8格式视频失败
  15. 影创科技助力云南首例MR混合现实肝脏手术成功实施
  16. Notion Like 笔记软件使用教程·学习资源汇总·知识管理方案
  17. WXS:微信小程序版JavaScript
  18. Unity获取Android手机的RAM和剩余RAM和ROM
  19. 【Python】关于安装爬虫框架scrapy的感悟
  20. mysql gui vim_Vim 有什么奇技淫巧?

热门文章

  1. 2016年安防上市公司年报披露情况
  2. JavaStream 常用操作(二)
  3. 365天口才训练计划
  4. 74cms骑士人才招聘系统源码SE版 v3.16.0
  5. 利用js快速完成大学生新生安全教育课程
  6. python wilcoxon test_自动化框架之 python+selenium+pytest · TesterHome
  7. markdown文件怎么转换成html,将markdown文件转换为html文件(MarkdownPad)
  8. 周围剃光头顶留长发型_四周都剃光,头顶留在发的那叫什么发型
  9. Python | 查看微信撤回的消息(完整代码)
  10. 在FME中的使用正则表达式之向前看向后看(前瞻后顾)