news 2025/12/18 4:46:44

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进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/15 20:36:10

TI德州仪器 SN65C3221EPWR芯片的概述

SN65C3221EPWR 是德州仪器生产的一款双通道、15kV ESD 保护、3.0V 至 5.5V、低功耗 RS-232 线路收发器。 SN65C3221EPWR 该器件包括一个线路驱动器、一个线路接收器和一个双电荷泵电路,用于异步通信控制器和串行端口连接器之间的电气接口。它支持高达1 Mbit/s的数据…

作者头像 李华
网站建设 2025/12/15 20:35:54

别再用普通insert了!农业传感器PHP数据入库的6种高效模式对比分析

第一章:农业传感器数据入库的挑战与现状随着智慧农业的发展,大量部署在田间的传感器持续采集土壤湿度、气温、光照强度等关键环境参数。这些数据是实现精准农业决策的基础,但如何高效、可靠地将海量、异构的传感器数据写入数据库,…

作者头像 李华
网站建设 2025/12/15 20:35:05

【Laravel开发者必看】:5步实现Laravel 13多模态权限控制

第一章:Laravel 13 多模态权限控制概述 Laravel 13 引入了全新的多模态权限控制系统,旨在应对现代 Web 应用中日益复杂的访问控制需求。该系统不仅支持传统的基于角色的权限管理(RBAC),还融合了基于属性的访问控制&am…

作者头像 李华
网站建设 2025/12/15 20:33:47

NVIDIA多模态AI能力全景分析:高效生态系统、训练优化与落地实践

NVIDIA多模态AI能力全景分析:高效生态系统、训练优化与落地实践 一、技术架构体系 1.1 核心模型架构 NVILA/VILA视觉语言模型架构: ┌─────────────────────────────────────────┐ │ 输入层:图像…

作者头像 李华
网站建设 2025/12/15 20:32:26

【R语言时空可视化实战】:掌握环境监测数据动态展示的5大核心技巧

第一章:R语言时空可视化在环境监测中的应用概述R语言凭借其强大的统计分析与图形绘制能力,已成为环境监测领域中时空数据可视化的首选工具之一。通过整合地理信息系统(GIS)数据与时间序列观测值,研究人员能够直观揭示污…

作者头像 李华