news 2026/5/1 6:04:10

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/25 9:57:43

BI 到底是什么,看看这篇文章怎么说

随着数据价值得到了认可,数据开始成为个人、企业乃至国家的重要战略资产,但数据资产不能直接产生价值,而是需要通过数据分析、数据可视化等数据处理手段将数据转化为信息和知识,才能进行资产的价值化,这时候商业智能BI…

作者头像 李华
网站建设 2026/4/22 8:47:04

《Flutter 工程化实践:从项目结构到 CI/CD 全链路落地》

引言随着 Flutter 在企业级应用中的普及,单纯掌握 UI 开发已远远不够。一个高质量的 Flutter 项目,需要具备清晰的架构分层、规范的代码风格、完善的测试体系、自动化的构建流程以及高效的团队协作机制。然而,许多团队在将 Flutter 从“Demo”…

作者头像 李华
网站建设 2026/4/23 12:36:11

吊舱激光测距模块概述

吊舱的激光测距模块是实现目标精确定位的核心。它通过发射激光并接收从目标反射的回波,利用时间差计算距离,其性能直接影响整个系统的可靠性。下面的表格整理了该模块的几个关键技术要点:模块如何运行:与吊舱系统深度协同激光测距…

作者头像 李华
网站建设 2026/4/22 9:38:02

刷题日记day6(数学)

题目描述 牛客小白月赛152E题 9运算题解来自大神Kendieer大神的牛客小白月赛125讲解 思路分析 C代码展示 #include<bits/stdc.h> #define int __int128 #define ll __int128 using namespace std;int a1[100], a9[100];inline ll read(){ll x0, f0;char ch 0;while(…

作者头像 李华
网站建设 2026/4/30 17:53:06

PHP工程师必看:GraphQL接口文档从零搭建到自动部署,效率提升300%

第一章&#xff1a;GraphQL在PHP中的核心价值与应用场景GraphQL 作为一种现代化的 API 查询语言&#xff0c;为 PHP 应用带来了显著的数据交互优化。它允许客户端精确请求所需字段&#xff0c;避免了传统 REST 接口中常见的数据冗余或多次请求问题。在复杂业务场景中&#xff0…

作者头像 李华
网站建设 2026/4/25 0:02:53

【空间转录组分析必看】:R语言Seurat与SpaGCN算法实战对比

第一章&#xff1a;空间转录组细胞聚类算法概述空间转录组技术结合了传统转录组测序与空间位置信息&#xff0c;使得研究人员能够在组织切片中精确解析基因表达的地理分布。在此基础上&#xff0c;细胞聚类算法成为识别功能相似细胞群体的核心工具。这些算法通过整合基因表达谱…

作者头像 李华