当前位置: 首页 > news >正文

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 操作的常数时间略高(多压 / 多弹一个重复值)

三、优化版

http://www.cnnetsun.cn/news/68809.html

相关文章:

  • PHP 8.6兼容性测试实战(资深架构师亲授迁移经验)
  • 从入门到精通:用R Shiny打造可交互的多维度数据仪表盘
  • 光伏阵列遇到局部阴影就像吃火锅被隔壁桌抢肉——憋屈得很。今天咱们用Python整活,搞个3×3电池板的阴影仿真模型,重点观察串联结构在阴影下的输出曲线怎么抽风
  • 你还不知道HTTP/3的这5个性能秘密?:资深架构师20年经验倾囊相授
  • 如何将EF Core响应时间降低80%?一线大厂都在用的4种策略
  • BGP综合实验
  • 大数据采集与处理技术实训室
  • 基于MATLAB 火灾检测系统,可以实现图片的火苗检测。 推荐matlab2019A及以后。
  • Harmony学习之本地数据存储
  • 【PHP扩展性能优化秘籍】:基于Rust的函数调试与内存泄漏排查指南
  • Flutter 状态管理终极指南(一):从 setState 到 Riverpod 2.0
  • Symfony 8路由缓存机制揭秘:如何让应用加载快如闪电
  • 基于STM32智能营养称系统的设计与实现_352
  • PHP 8.6升级必看:5个关键兼容性检测步骤,避免生产环境崩溃
  • 医疗行业PHP数据备份最佳实践(20年专家亲授方案)
  • 4、Gateway
  • 泛型实例化陷阱频发?资深架构师总结的6大避坑法则
  • hot100 2.字母异位词分组
  • R语言Cox回归避坑指南(临床数据建模常见错误TOP5)
  • 是德 N9041B UXA 频谱分析仪在真空环境完成卫星信号分析
  • 用是德DSOX1204A示波器快速捕捉与调试信号的实用指南
  • 连接器EMC测试不过关?5步定位干扰源头,快速通过认证
  • 为什么90%的物联网项目卡在部署阶段?真相令人震惊
  • 你还在用线性回归预测产量?R语言随机森林模型已全面超越
  • Laravel 13发布后必须掌握的技能:多模态任务队列的7种高级用法
  • some 知识点 knowledge
  • Gson和Jackson是怎么解决泛型实例化的?源码级剖析告诉你答案
  • 重新发现深圳,找个咖啡/羽毛球搭子一起探索城市的AB面
  • 请求拦截不再难,Symfony 8拦截器实现原理与最佳实践全解析
  • RAG文本分块策略:优化LLM的知识访问效率