您的位置:首页 > 理论基础 > 数据结构算法

微软等数据结构+算法面试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();
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐