微软等数据结构+算法面试100题(42)-- 设计一个栈结构
2012-11-12 10:15
471 查看
设计一个栈结构,满足一下条件:min,push,pop 操作的时间复杂度为O(1)。
/* 40.百度研发笔试题 引用自:zp155334877 1)设计一个栈结构,满足一下条件:min,push,pop 操作的时间复杂度为O(1)。 */ class MinStack { private: stack<int> minst; stack<int> st; public: void push(int value) { if(st.empty()) { minst.push(value); st.push(value); } else { int min=minst.top(); if(value<min) minst.push(value); else minst.push(min); } } void pop() { st.pop(); minst.pop(); } int min() { return minst.top(); } };
相关文章推荐
- 微软等数据结构+算法面试100题(5)--怎样编写一个程序,把一个有序整数数组放到二叉树中
- 微软等数据结构+算法面试100题(9)--在一个int 数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。
- 微软等数据结构+算法面试100题(2)--给出一个函数来输出一个字符串的所有排列
- 横空出世,席卷Csdn [评微软等公司数据结构 算法面试100题] - 结构之法 算法之道
- 微软等数据结构+算法面试100题(3)--怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
- 微软等数据结构+算法面试100题(49)-- 设计类
- 微软等数据结构+算法面试100题(6)--写一个函数,检查字符是否是整数,如果是,返回其整数值
- 微软等数据结构+算法面试 100 题
- 微软等数据结构+算法面试100题 by July
- 微软等数据结构+算法面试100题全部答案集锦
- 微软等数据结构+算法面试100题(8)--华为面试题
- 微软等数据结构+算法面试100题(31)--在O(1)时间内删除链表结点
- 微软等数据结构+算法面试100题(43)-- 把二元查找树转变成排序的双向链表
- [整理III]微软等数据结构+算法面试100题[最新第61-80题]
- 微软等数据结构+算法面试100题全部答案集锦
- 珍藏版、微软等数据结构+算法面试100题全部出炉
- 微软等数据结构+算法面试100题004
- 横空出世,席卷互联网--评微软等公司数据结构和算法面试100题 .
- 微软等数据结构+算法面试100题(32)--从尾到头输出链表
- 微软等数据结构+算法面试100题(44)-- 求子数组的最大和