
【leetcode】最小栈
发布日期:2021-05-12 05:47:24
浏览次数:23
分类:原创文章
本文共 1097 字,大约阅读时间需要 3 分钟。
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。
- push(x) -- 将元素 x 推入栈中。
- pop() -- 删除栈顶的元素。
- top() -- 获取栈顶元素。
- getMin() -- 检索栈中的最小元素。
示例:
MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.getMin(); --> 返回 -3.minStack.pop();minStack.top(); --> 返回 0.minStack.getMin(); --> 返回 -2.
参考:
class MinStack { Stack<Integer> stack =new Stack<>(); int min = Integer.MAX_VALUE; /** initialize your data structure here. */ public MinStack() { } public void push(int x) { if(x<=min) { stack.push(min); min = x; } stack.push(x); } public void pop() { int t = stack.peek(); stack.pop(); if (t == min) { min = stack.peek(); stack.pop(); } } public int top() { return stack.peek(); } public int getMin() { return min; }}/** * Your MinStack object will be instantiated and called as such: * MinStack obj = new MinStack(); * obj.push(x); * obj.pop(); * int param_3 = obj.top(); * int param_4 = obj.getMin(); */
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月18日 21时03分06秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
计算机操作系统之第二章 进程的描述与控制(1)
2019-03-11
教资之教育知识与能力 第二章第三节 基础教育课程改革
2019-03-11
androird 优秀新闻github
2019-03-11
java 正则 持续更新中
2019-03-11
Uber Go 语言编程规范:处理类型断言失败
2019-03-11
解决github Git clone 慢的问题
2019-03-11
一张图搞定RPC框架核心原理
2019-03-11
MySQL-8免安装版配置
2019-03-11
MySQL定义方法和存储过程
2019-03-11
Scala迭代器iterator
2019-03-11
Scala中的包
2019-03-11
Java2017学习路线
2019-03-11
马云关于人工智能的演讲
2019-03-11
参加阿里的Java面试经验
2019-03-11
Python的命名规范
2019-03-11
Python微信公众号
2019-03-11
2017物联网安全事件盘点
2019-03-11
MySQL的时间获取和时间转换
2019-03-11
他来了他来了,他带着云栖大会的免费门票走来了
2019-03-11