算法通关:015:最小栈

news2024/11/14 12:01:40

文章目录

  • 题目
  • 思路
  • 主要代码
  • 问题总结
    • 有时候提交不了可能是方法名的问题

题目

leetcode152
在这里插入图片描述

思路

在这里插入图片描述

主要代码

同一个思路,法一是用栈实现,法二是用数组实现

/**
 * @Author: ggdpzhk
 * @CreateTime: 2024-08-03
 * 最小栈  155
 */
import java.util.Stack;

public class _015_MinStack {


    //提交时 class名和构造方法名 改为 MinStack
    class MinStack1{
        public Stack<Integer> data;
        public Stack<Integer> min;

        public MinStack1(){
            data = new Stack<>();
            min = new Stack<>();
        }

        public void push(int val){
            data.push(val);
            if(min.isEmpty() || val < min.peek()){
                min.push(val);
            }else{
                min.push(min.peek());
            }
        }

        public void pop(){
            data.pop();
            min.pop();
        }
        public int top(){
            return data.peek();
        }
        public int getMin(){
            return min.peek();
        }
    }

    //提交时 class名和构造方法名 改为 MinStack
    //用数组实现
    class MInStack2{
        //leetcode的数据在测试时,同时在栈里的数据不超过这个值
        //这是几次提交实验得出的
        //如果leetcode补测试数据,超过这个量导致出错,就调大
        public final int MAXN = 8001;

        public int[] data;
        public int[] min;
        int size;//栈中现在有多少数据,同时压同时弹,所以两个数组的size是一样的

        public MInStack2(){
            data = new int[MAXN];
            min = new int[MAXN];
        }

        public void push(int val){
            data[size] = val;
            if(size == 0 || val < min[size-1]){
                min[size] = val;
            }else{
                min[size] = min[size-1];
            }
            size++;
        }
        public void pop(){
            size--;
        }
        public int top(){
            return data[size-1];
        }
        public int getMin(){
            return min[size-1];
        }
    }
}

问题总结

有时候提交不了可能是方法名的问题

因为我是在idea里面写了再复制过来,可能就会出现不一致的问题
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1975106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

fonttools - 操作字体

文章目录 一、关于 fonttools二、安装贡献测试可选依赖 三、如何制作新版本四、工具五、库 一、关于 fonttools fontTools是一个用于操作字体的库&#xff0c;用Python编写。这 项目包括TTX工具&#xff0c;可以转换TrueType和OpenType XML文本格式之间的字体&#xff0c;也称…

cesium加载wms与arcgis服务

1、加载geoserver的wms服务 2、加载arcgis服务

idea使用free流程,2024idea、2023idea都可以安装免费使用

1.先到官网下载&#xff0c;这里选择win系统的&#xff0c;点击下图的.exe https://www.jetbrains.com/idea/download/?sectionwindows 2.下载好后基本上就是一直点击“下一步”到直到安装好&#xff0c;安装好后先打开软件后关闭退出 3.下载配配套资料 链接: https://pan.ba…

C++计算二维坐标欧式距离

1.何为欧式距离 在欧几里得空间中&#xff0c;点x (x1,…,xn)和 y (y1,…,yn)之间的欧氏距离为 2.C实现计算两点欧氏距离 point1(x1, y1): (1,3) point2(x2, y2): (2,6) #include <iostream> #include <cmath>using namespace std;int main() {struct point {…

【Android驱动08】Sensor传感器框架以及驱动移植和调试方法(Kernel层部分)

接续上一节&#xff0c;本文主要介绍驱动部分的客制化 1&#xff0c; hardware层 通过系统调用open,read,write对sys/class/sensor/m_acc_misc读写操作 路径&#xff1a;vendor/mediatek/proprietary/hardware/sensor/sensors-1.0/Acceleration.cpp 直接操作/sys/class/sensor…

pytorch基础模块:Tensorboard、Dataset、Transforms、Dataloader

Tensorboard、Dataset、Transforms、Dataloader 该文档主要参考【土堆】的视频教程&#xff1a;pytorch入门教程–土堆 一、Tensorboard 安装tensorboard&#xff1a;pip install tensorboard 使用步骤&#xff1a; 引入相关库&#xff1a;from torch.utils.tensorboard i…

DDL、DML、DQL、DCL具体实例与关系

一、DDL、DCL、DML、DQL 通过二维表的形式&#xff0c;更加清晰直观的学习、对比其关系。 DDL DCL DML DQL 英文释义 Data Defination Language 数据库定义语言 Data Control Language 数据库控制语言 Data Manipulation Language 数据操作语言 Data Query Language 数…

PyMuPDF-Guide

本文翻译整理自&#xff1a; https://pymupdf.readthedocs.io/en/latest/how-to-open-a-file.html 文章目录 一、打开文件1、支持的文件类型2、如何打开文件打开一个错误的文件扩展名 3、打开远程文件从云服务打开文件 4、以文本形式打开文件例子打开一个C#文件打开一个XML文件…

按摩行业的革新者:从挑战到辉煌的转型之路

在时代浪潮的推动下&#xff0c;一个勇于创新的团队于2018年毅然踏入按摩服务市场&#xff0c;创立了一家颠覆传统的按摩店。面对行业内的激烈竞争与瞬息万变的市场环境&#xff0c;他们凭借独树一帜的经营模式和不懈的努力&#xff0c;不仅稳固了市场地位&#xff0c;更在去年…

使用Greenhills生成Lib并使用Lib的两种方法

文章目录 前言GHS工程生成libmake方式生成liblib的使用总结 前言 在软件交付过程&#xff0c;如果不交付源代码&#xff0c;可以将源码编译之后生成lib文件提供给客户。本文介绍GHS中生成lib的两种方法&#xff0c;一种基于GHS工程&#xff0c;一种基于make文件。生成完lib后的…

uniapp自定义网格布局用于选择金额、输入框焦点事件以及点击逻辑实战

样式 <view class="withdraw-section"><text class="section-title">提现金额</text><view class="amount-options"><view v-for="(item, index) in list" :key="index" class="amount-opt…

使用Leaflet进行船舶航行警告区域绘制实战

目录 前言 一、坐标格式转换 1、数据初认识 2、将区域分割成多个点 3、数据转换 4、数据转换调用 二、WebGIS展示空间位置信息 1、定义底图 2、Polygon的可视化 3、实际效果 三、总结 前言 通常而言&#xff0c;海事部门如海事局&#xff0c;通常会在所述的管辖区域内…

Java从入门到精通(十五) ~ IO流

晚上好&#xff0c;愿这深深的夜色给你带来安宁&#xff0c;让温馨的夜晚抚平你一天的疲惫&#xff0c;美好的梦想在这个寂静的夜晚悄悄成长。 目录 前言 什么是IO流&#xff1f; IO流的作用&#xff1a; 一、基础流 1. 字节流 1.1 字节输入流 FileInputStream 1.2 字节…

找到第一个满足条件的格值

表格第1列是科目&#xff0c;之后几列是每次的考试成绩&#xff0c;顺序排列。 ABCDE1Art03.676.27.82History3.786.217.29.83Maths5.66.36.68.9 要求根据指定的科目和成绩&#xff0c;找到该科目中大于等于该成绩的第1个格值&#xff0c;比如参数是Maths、6.5时&#xff0c;…

element-ui简单入门1.0.0

第一篇&#xff1a;table标签速用 总结&#xff1a;建楼前&#xff0c;先打地基<el-table></el-table>&#xff0c;打完地基看高度&#xff0c;一层楼4米&#xff0c;80米20个<el-table-column></el-table-column>&#xff0c;每次楼的名字是label 第…

[翻译] Asset Administration Shells

关于资产管理外壳 (AAS) 资产管理外壳 (AAS) 是工业4.0中的关键概念&#xff0c;为产品、资源&#xff08;如设备&#xff09;和过程提供信息隐藏和更高层次的抽象。AAS 是技术和设备无关的机器可读描述&#xff0c;提供访问资产属性和功能的统一接口。与现有解决方案不同&…

C# 下的限定符运算详解(全部,任意,包含)与示例

文章目录 1.限定符概述2. 全部限定符运算&#xff08;All&#xff09;3. 任意限定符运算&#xff08;Any&#xff09;4. 包含限定符运算&#xff08;Contains&#xff09;总结 当我们在C#编程中需要进行条件判断或集合操作时&#xff0c;限定符&#xff08;qualifiers&#xff…

Vue项目启动ESLint报错no-unused-vars解决办法

目录 原因分析解决方法 Vue项目启动时报错如下 ✘ http://eslint.org/docs/rules/no-unused-vars index is assigned a value but never usedsrc\views\friend\list.vue:206:17const index this.tableList.indexOf(v)^原因分析 ESLint是一个在JavaScript代码中识别和报告问…

【传知代码】辅助任务改进社交帖子多模态分类(论文复现)

在当今数字化社交时代&#xff0c;社交媒体平台如同人们生活的一部分&#xff0c;每天数以亿计的帖子在网络上涌现。这些帖子不仅仅是信息的载体&#xff0c;更是人们思想、情感和行为的折射。然而&#xff0c;要准确理解和分析这些多样化的社交帖子&#xff0c;仅依靠文本内容…

请问如何做好软件测试工作呢?

一、明确测试目标和范围 理解测试目的&#xff1a;在开始测试之前&#xff0c;首先要明确测试的目标和范围&#xff0c;确保测试计划 与需求相匹配。这有助于测试人员聚焦在关键功能上&#xff0c;避免浪费时间和资源。制定详细的测试计划&#xff1a;根据项目需求&#xff0…