[LintCode] 带最小值操作的栈
2015-06-28 15:21
465 查看
class MinStack { public: MinStack() { // do initialization if necessary } void push(int number) { // write your code here if (minimum.empty() || number <= minimum.top()) minimum.push(number); data.push(number); } int pop() { // write your code here if (minimum.top() == data.top()) minimum.pop(); int elem = data.top(); data.pop(); return elem; } int min() { // write your code here return minimum.top(); } private: stack<int> data; stack<int> minimum; };
相关文章推荐
- windows service 2008 R2 的磁盘管理
- 关于SVN服务器的3690端口与centOS的firewall控制
- 预测小孩未来身高小程序
- 多进程使用Provider代替AIDL
- [LintCode] 用栈实现队列
- 谁重要?
- 【作业三】林轩田机器学习基石
- [LintCode] 最长公共子序列
- 远程桌面的配置与使用
- 期末模拟——数钱是件愉快的事
- oracle表空间使用情况
- 【转帖】跟我一起学Makefile
- PLA能收敛的证明
- [LintCode] 最长公共子串
- C++经典面试题(九)
- xiaopanOS启动及字典
- 键盘安装ubuntu遇到的问题:File not found
- 【算法】8 图文搭配诠释三种链表及其哨兵
- javascript和HTML5上传图片之前实现预览效果
- 最新的JDK安装