news 2026/4/2 9:52:34

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/1 22:52:47

十五五流程管理框架方法论、流程管理体系、规划、建设、运营与推行:1 套方法论、2 条主线、3 层架构、4 阶段闭环、5 大保障

“十五五”期间,流程管理不再只是“制度SOP”,而是集团数字化转型的核心操作系统。可归纳为“1 套方法论、2 条主线、3 层架构、4 阶段闭环、5 大保障”,形成从规划→建设→运营→迭代的完整框架。一、1 套方法论:BPRBLM 双轮驱动…

作者头像 李华
网站建设 2026/4/1 14:10:18

Harmony学习之列表渲染与性能优化

Harmony学习之列表渲染与性能优化 一、场景引入 小明在开发一个商品列表页面时遇到了严重问题:当数据量达到1000条时,页面加载需要5秒以上,滑动时出现明显卡顿,丢帧率高达12%。用户反馈体验极差,甚至出现应用崩溃的情况…

作者头像 李华
网站建设 2026/4/3 5:01:35

错过将后悔!R量子模拟中不可不知的门序列设计原则

第一章:R量子模拟中的门序列设计概述在量子计算仿真领域,R语言虽非主流计算平台,但凭借其强大的统计分析与可视化能力,逐渐被用于量子算法的教学模拟与结果分析。门序列作为量子电路的基本构建单元,决定了量子态的演化…

作者头像 李华
网站建设 2026/4/3 2:04:53

低功耗物联・高效管控:档案馆库房环境监控方案低功耗物联・高效管控:档案馆库房环境监控方案

档案馆库房环境智能化物联网监控系统方案系统效果图一、项目背景与核心需求1. 背景档案馆库房存储着珍贵的纸质、电子等档案资源,其保存环境直接影响档案寿命:温湿度失衡易导致纸张霉变、字迹褪色,有害气体(甲醛、VOC)…

作者头像 李华
网站建设 2026/3/30 10:52:47

为什么你的PHP扩展崩溃?深入剖析8.6版本兼容性问题

第一章:PHP 8.6 扩展开发概述PHP 8.6 作为 PHP 语言演进的重要版本,延续了对性能优化、类型系统增强以及开发者体验提升的承诺。在该版本中,扩展开发依然是核心能力之一,允许开发者通过 C 语言编写高性能模块,直接与 Z…

作者头像 李华
网站建设 2026/4/1 14:07:44

AOT文档权威指南:从入门到精通必须掌握的7个核心章节

第一章:AOT技术概述AOT(Ahead-of-Time Compilation)即“提前编译”技术,是一种在程序运行之前将源代码或中间代码直接编译为原生机器码的方法。与JIT(Just-in-Time)在运行时动态编译不同,AOT显著…

作者头像 李华