力扣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();
 */
相关推荐
猎嘤一号2 分钟前
学术训练(一)文献检索与阅读
人工智能·算法·机器学习·科研入门
Doubbbbbbble云16 分钟前
多路归并算法在外部排序中的实现与优化
算法
沉淀的.晴天36 分钟前
FreeRTOS信号量
数据结构·算法
青山木1 小时前
Hot 100 --- 打家劫舍
java·数据结构·算法·leetcode·动态规划
机器学习之心1 小时前
均值、中值、圆周期:三种 InSAR 干涉相位滤波的实测对比与参数取舍
算法·均值算法
xy20261 小时前
多轮 Tool Agent 训不动?先把环境 token 从 loss 里拿掉
算法
wzdark2 小时前
多核架构下算法并行化的瓶颈与突破点4
算法·架构
阿明62 小时前
Leetcode: 283. 移动零
算法·leetcode·职场和发展
葫三生2 小时前
三生原理与《涌现:从简单规则到复杂世界》在“简单规则生成复杂系统”核心思路上存在理论呼应?
人工智能·科技·算法·机器学习·开源
6Hzlia2 小时前
【Classic 150 刷题计划】 LeetCode 134. 加油站 | C++ 贪心算法与局部否决逻辑
c++·leetcode·贪心算法