news 2026/4/16 19:35:17

leetcode155 最小栈(Java)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode155 最小栈(Java)

思路:

创建两个栈,一个用来“正常进出”,另一个记录“当前最小值”

一、关于 “方法名重复会不会冲突”

原因是:MinStack类中的push/pop自定义方法,而stack1/stack2是类内部的Stack对象 —— 二者属于不同的 “作用域”

  • 调用MinStackpush:是minStack.push(5)(调用的是MinStack类的方法);
  • 调用stack1push:是stack1.push(5)(调用的是Stack类的方法)。

简单说:方法是 “依附于对象 / 类” 的,只要调用时明确是哪个对象的方法,就不会冲突

二、代码核心问题(空间浪费)

stack2 会和 stack1 存储完全相同长度的元素,比如 stack1 存 10000 个元素,stack2 也存 10000 个 —— 但其实很多值是重复的(比如连续压入比最小值大的数,stack2 反复压入同一个最小值)。

这种设计的空间复杂度是 O (n)(和优化版一样),但实际存储的重复数据会导致:

  1. 内存占用更高(比如存大量数据时);
  2. push/pop 操作的常数时间略高(多压 / 多弹一个重复值)

三、优化版

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 15:48:20

为什么你的GraphQL API不够灵活?PHP字段别名设计的4个致命误区

第一章:为什么你的GraphQL API不够灵活?PHP字段别名设计的4个致命误区在构建现代API系统时,GraphQL凭借其按需查询的能力成为首选。然而,许多PHP开发者在实现字段别名(Field Aliasing)时,常因设…

作者头像 李华
网站建设 2026/4/16 12:13:50

为什么你的Go程序内存居高不下?:Golang逃逸分析与GC调优全揭秘

第一章:为什么你的Go程序内存居高不下?Go语言以其高效的并发模型和自动垃圾回收机制广受开发者青睐,但不少人在生产环境中发现程序的内存占用持续偏高,甚至出现“内存泄漏”现象。实际上,大多数情况并非语言缺陷&#…

作者头像 李华
网站建设 2026/4/16 15:29:22

qubit初始化不难,难的是你不知道这5个隐藏陷阱

第一章:qubit初始化的基本概念与R包环境搭建在量子计算中,qubit(量子比特)是信息存储和处理的基本单位。与经典比特只能处于0或1状态不同,qubit可以处于叠加态,这使其具备强大的并行计算潜力。qubit初始化是…

作者头像 李华
网站建设 2026/4/16 14:13:30

生存分析核心代码曝光,R语言绘制临床数据曲线仅需5行命令

第一章:生存分析在临床研究中的核心价值生存分析作为统计学的重要分支,在临床研究中扮演着不可替代的角色。它专注于事件发生时间的建模与推断,尤其适用于研究患者从某一初始状态(如确诊疾病)到终点事件(如…

作者头像 李华
网站建设 2026/4/16 10:55:30

英伟达在大模型训练基础设施领域的解决方案

英伟达在大模型训练基础设施领域提供了以韧性(Resiliency) 稳定性保障为核心的解决方案,覆盖工具、技术架构、测试体系等维度。 一、核心解决方案:Resiliency Extension 稳定性工具链 1. NVIDIA Resiliency Extension 定位&#…

作者头像 李华
网站建设 2026/4/16 12:31:30

美团没打赢的仗

出品I下海fallsea撰文I胡不知2025年12月15日,美团内部OA系统的一则通知,为历时五年的“团好货实验”画上句号:“暂停团好货业务运营,团队并入闪购事业部,聚焦即时零售。”几乎同时,美团APP底部“电商”入口…

作者头像 李华