编程题:包含min函数的栈
来源:互联网 发布:黑客帝国文字矩阵 编辑:程序博客网 时间:2024/06/02 00:05
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
剑指offer给出的思路:
我们可能想使用一个变量min来存放最小的元素。每次压入栈中一个元素的时候,如果新元素比这个变量min中保存的元素小,那么就将用新元素给min赋值,即更新min的值。但是,这样存在一个问题,那就是当当前最小的元素被弹出栈了,怎么得到栈中剩余元素的最小的元素呢?
因此,可以借助一个辅助栈,用来存放每次栈操作时(包括入栈和出栈)栈中最小元素。
代码
class Solution {public: stack<int> st, minSt;//st表示存储元素的栈,minSt保存每次栈操作时,保存栈中最小元素 void push(int value) { st.push(value); if (minSt.empty()){ minSt.push(value); } else { if (value < minSt.top()){ minSt.push(value); } else { minSt.push(minSt.top()); } } return; } void pop() { if (!st.empty()) { st.pop(); minSt.pop(); } return; } int top() { if (!st.empty()){ return st.top(); } return 0; } int min() { if (!minSt.empty()) { return minSt.top(); } return 0; }};
阅读全文
0 0
- 编程题:包含min函数的栈
- 在线编程--包含min函数的栈
- 牛客网编程题-包含min函数的栈(java)
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min 函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 设计模式7-原型模式
- list排序(1.根据对象的字段排序 2.根据map集合的key值排序)
- 关于安卓自动升级的一些思路
- 为什么以太网的最小数据帧长度为64字节?
- java实现LDAP 部门和用户的增删改查 实现过程
- 编程题:包含min函数的栈
- hdu-暑假集训-Time To Get Up
- H5学习之 响应式布局
- c++ 类的定义与声明
- 简单模拟——挖掘机
- android端访问本地tomcat
- bluetooth a2dpsink
- 窗体在修改密码之后,需要重新登录问题
- 常见HTTP错误代码大全