stack<pair<int, int>> sta;
void push(int x) {
int min_i;
if(sta.empty())
{
min_i = x;
}
else
{
min_i = sta.top().second < x ? sta.top().second : x;
}
sta.push({x, min_i});
} void pop() {
sta.pop();
} int top() {
return sta.top().first;
} int getMin() {
return sta.top().second;
}

定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。
要求函数min、push以及pop的时间复杂度都是O(1)

最新文章

  1. HTML5标签的3大类型
  2. WCF基础知识
  3. php,js清除cookie
  4. mysql中 的 ENGINE = innodb; 是什么意思?
  5. JSON 学习笔记
  6. python分布式抓取网页
  7. Python基础(六)-内置函数
  8. 排序问题思考(要求时间和空间复杂度尽可能的低)【Part 2】
  9. 【JS】JavaScript中的执行环境与作用域
  10. Java学习笔记——I/O流
  11. spring boot认识
  12. django——CRM项目
  13. linux系统如何发送邮件
  14. 数组,arrayList和List
  15. Prism框架研究(一)
  16. poj3926 parade (单调队列+dp)
  17. [NOI2005]聪聪与可可(期望dp)
  18. hdu1847 Good Luck in CET-4 Everybody!(巴什博弈)
  19. WPF 使用 Direct2D1 画图入门
  20. 【Linux 线程】引出线程加锁问题

热门文章

  1. homework 08_2 C++11新特性作业之二
  2. Struts2在Action中访问WEB资源
  3. ocp 1Z0-042 1-60题解析
  4. BestCoder Round #68 (div.2) geometry(hdu 5605)
  5. 红帽 Enterprise Linux OpenStack Platform 4.0全面上市
  6. PostgreSQL的 initdb 源代码分析之十三
  7. 【转】web测试内容及工具经典总结
  8. springMVC3学习(九)--redirect和forward跳转
  9. sql操作事务SqlTransHelper类实现
  10. 判断文件是否为UTF8编码