LeetCode Min Stack 最小值栈
2024-09-08 04:47:37
题意:实现栈的四个基本功能。要求:在get最小元素值时,复杂度O(1)。
思路:链表直接实现。最快竟然还要61ms,醉了。
class MinStack {
public:
MinStack(){
head.next=;
head.t=;
m=0x7FFFFFFF;
}
void push(int x) {
node *p=(node *)new(node);
p->t=x;
p->next=head.next;
head.next=p;
head.t++;
if(x < m) //要更新
m = x;
} void pop() { if(==head.t) return ;
else if(head.t)
{
head.t--;
if(head.next->t==m) //刚好等于最小值m,要更新最小值
{
int sma=0x7FFFFFFF;
node *p=head.next->next;
while( p )
{
if(p->t<sma)
sma=p->t;
p=p->next;
}
m=sma;
}
head.next=head.next->next;
}
} int top() {
if(head.t)
return head.next->t;
return ;
} int getMin() {
return m;
}
private:
struct node
{
int t;
node *next;
};
node head;
int m;
};
最新文章
- 有关windows系统的EXE和DLL文件说法错误
- 在 Java 代码中对 Kerberos 主体进行身份验证
- [R]R语言里的异常处理与错误控制
- 【bzoj1025】游戏
- POJ 2481 Cows
- eclipse修改SVN下载的项目“>;”变成“*”
- 2015第23周四HTML特殊字符显示问题
- Http响应报文
- 文件打包bundle
- java反射中Method类invoke方法的使用方法
- js 正则,从url中取参数值
- Maven详解(五)------ 坐标的概念以及依赖管理
- RabbitMQ的简单应用
- MT 互联网 面试标准
- SqlServer查询表名的备注(查询表名描述 MS_Description)
- 【LOJ 2004】「SDOI2017」硬币游戏
- 一致性 Hash 学习与实现
- SpringCloud调用服务原理
- elasticsearch搜索引擎环境的搭建
- 20145208 蔡野 《网络对抗》Exp5 MSF基础应用