力扣hot100 最小栈 变种栈

Problem: 155. 最小栈

文章目录

  • 思路
  • [💖 Stack + 自定义 Node](#💖 Stack + 自定义 Node)
  • [🍻 Code](#🍻 Code)

思路

👩‍🏫 甜姨

💖 Stack + 自定义 Node

时间复杂度: O ( 1 ) O(1) O(1)

空间复杂度: O ( n ) O(n) O(n)

🍻 Code

Java 复制代码
class MinStack {

 	private Stack<Node> stack;

	class Node
	{
		int x;
		int min;

		public Node(int x, int min)
		{
			super();
			this.x = x;
			this.min = min;
		}
	}

	public MinStack()
	{
		stack = new Stack<>();
	}

	public void push(int x)
	{
		if (stack.isEmpty())
			stack.add(new Node(x, x));
		else
			stack.add(new Node(x, Math.min(x, stack.peek().min)));
	}

	public void pop()
	{
		stack.pop();
	}

	public int top()
	{
		return stack.peek().x;
	}

	public int getMin()
	{
		return stack.peek().min;
	}
}

/**
 * Your MinStack object will be instantiated and called as such:
 * MinStack obj = new MinStack();
 * obj.push(val);
 * obj.pop();
 * int param_3 = obj.top();
 * int param_4 = obj.getMin();
 */
相关推荐
Cosolar36 分钟前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
kkeeper~2 小时前
0基础C语言积跬步之数据在内存中的存储
c语言·数据结构·算法
wabs6663 小时前
关于贪心算法的一些自我总结【力扣45.跳跃游戏II】【灵感来源:代码随想录】
算法·贪心算法·复盘
2401_876964133 小时前
【湖北专升本】2026湖北专升本真题PDF+备考资料汇总
数据结构·人工智能·经验分享·深度学习·算法·计算机视觉
嗝o゚4 小时前
CANN GE 算子融合——融合算法与调度策略
算法·昇腾·cann·ge
小江的记录本4 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
Ulyanov5 小时前
用声明式语法重新定义Python桌面UI:QML+PySide6现代开发入门(一)
开发语言·python·算法·ui·系统仿真·雷达电子对抗仿真
数据科学小丫5 小时前
特征工程处理
人工智能·算法·机器学习
秦明月136 小时前
电芯装配测试线安全回路设计实战
经验分享·其他·职场和发展·创业创新·学习方法
z落落6 小时前
C#参数区别
java·算法·c#