news 2026/7/2 5:47:06

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/7/2 3:30:56

低代码开发中的测试盲区突破(PHP组件单元测试与集成测试最佳实践)

第一章:低代码 PHP 组件的测试用例在现代Web开发中,低代码平台通过可视化构建和组件化逻辑显著提升了开发效率。然而,组件行为的稳定性和可靠性仍依赖于完善的测试机制。针对低代码环境中的PHP后端组件,编写精准的单元测试与集成测…

作者头像 李华
网站建设 2026/7/1 12:35:41

揭秘农作物增产关键因素:R语言方差分析在农业研究中的应用

第一章:揭秘农作物增产的关键因素与方差分析意义在现代农业科学中,提升农作物产量依赖于对多种环境与管理因素的系统性评估。光照、水分、土壤养分及种植密度等变量均可能显著影响作物生长表现。为了从统计学角度识别哪些因素真正导致产量差异&#xff0…

作者头像 李华
网站建设 2026/6/30 21:51:20

篮球场景目标检测与定位_YOLO11-RFPN实现详解

1. 篮球场景目标检测与定位_YOLO11-RFPN实现详解 🏀 1.1. 引言 篮球比赛中的目标检测与定位一直是计算机视觉领域的热点研究方向 🤔。随着深度学习技术的不断发展,基于YOLO系列模型的目标检测算法在体育场景中的应用越来越广泛 &#x1f68…

作者头像 李华
网站建设 2026/6/29 16:05:21

【嵌入式系统设计师】易混淆知识点 AND 查缺补漏

1.BIOS/CMOS ■CMOS是主板上的一块可读写的RAM芯片;保存计算机基本启动信息(如日期、时间、启动设置等)的芯片;由主板的电池供电,即使系统掉电,信息也不会丢失。 ■BIOS是微机的基本输入输出系统;是主板上的一块EPROM或EEPROM芯片,里面装有系统的重要信息和设置系统参…

作者头像 李华