Min Stack
来源:互联网 发布:黑米软件怎么样 编辑:程序博客网 时间:2024/05/23 19:27
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- getMin() -- Retrieve the minimum element in the stack
solution:
struct Node {
int val;
int min;
Node *next;
Node(int x) : val(x), next(NULL) {}
};
class MinStack {
Node *ntop = NULL;
public:
void push(int x) {
if(ntop==NULL)
{
ntop = new Node(x);
ntop->min = x;
}
else
{
Node *temp = new Node(x);
temp->next = ntop;
ntop = temp;
ntop->min = ntop->next->min>x?x:ntop->next->min;
}
}
void pop() {
if(ntop==NULL)return;
ntop = ntop->next;
}
int top() {
if(ntop==NULL)return 0;
return ntop->val;
}
int getMin() {
if(ntop==NULL)return 0;
return ntop->min;
}
};
- min stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- 使用Intent在活动之间穿梭
- 存mac地址实际上用6个字节/字符就OK了
- String.format()用法
- 理解MySQL——复制(Replication)
- iOS系列博文
- Min Stack
- 理解MySQL——并行数据库与分区(Partition)
- CheatEngine561
- 浅谈mysql的两阶段提交协议
- JAVA泛型理解
- 浅谈MySQL备份字符集的问题
- 项目管理
- Sicily 周赛 Opening Ceremony
- (7)设计模式:bridge