最小栈、栈的弹出(C++)

news2024/11/25 6:57:20

1.最小栈

思路分析:

 

 代码:

class MinStack {
public:
    MinStack() {
        
    }
    
    void push(int val) {
        st.push(val);
        //两种情况需要更新最小值
        //1.最小栈为空(就是存最小值的那个栈)
        //2.插入的值小于或等于最小栈的栈顶元素
        if(minstack.empty()||minstack.top()>=val)
        {
            minstack.push(val);
        }
    }
    
    void pop() {
        int front=st.top();
        st.pop();
        if(front==minstack.top())
            minstack.pop();

    }
    
    int top() {
        return st.top();
    }
    
    int getMin() {
        return minstack.top();
    }
    //定义两个栈
    stack<int> st;
    stack<int> minstack;
};

2.栈的压入、弹出序列

思路分析:

 

 

 

 

 代码:

class Solution {
public:

    bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {
        //表示当前弹出顺序所在位置的下标
       int cur=0;
       stack<int> st;

       for(auto e: pushV)
       {
         st.push(e);

         while(!st.empty()&&st.top()==popV[cur])
         {
            cur++;
            st.pop();
         }
       }

       return st.empty();
    }
};

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

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

相关文章

将10个整数按由小到大的顺序排列

在之前的文章中介绍过可以用数组名作函数的参数&#xff0c;并多次强调&#xff1a;数组名代表数组首元素的地址。用数组名作函数的参数&#xff0c;传递的是数组首元素的地址。很容易推想&#xff1a;用指针变量作函数形参&#xff0c;同样可以接收从实参传递来的数组首元素的…

Tongweb7重置密码优化版*(by lqw )

如图所示&#xff0c;输入初始密码是会报错的&#xff0c;说明已经修改了密码 首先我们先备份一下tongweb的安装目录&#xff0c;避免因为修改过程中出现的差错而导致tongweb无法启动&#xff1a; 备份好了之后&#xff0c;我们关闭掉tongweb。 方式一&#xff1a; Cd 到tong…

C盘满了怎么办,Windows11的C盘没有磁盘清理选项怎么办,一次搞定

问题&#xff1a; 太久没清电脑了&#xff0c;满的跟垃圾堆一样。。。C盘红色看上去很不妙。 一. C盘满了怎么办&#xff1a; 1. 删除临时文件 找到 C:\Windows\Temp&#xff0c;进入Temp资料夹&#xff0c;选中所有文件夹和文件&#xff0c;按下ShiftDelete键&#xff0c;彻…

推荐系统三十六式学习笔记:原理篇.内容推荐05|从文本到用户画像有多远?

目录 从文本开始构建用户画像一、结构化文本1、TF-IDF2、TextRank3、内容分类&#xff1a;4、实体识别5、聚类6、词嵌入 二、标签选择1、卡方检验2、信息增益 总结 对于一个早期的推荐系统来说&#xff0c;基于内容推荐离不开用户构建一个初级的画像&#xff0c;这种初级的画像…

攻防世界---misc---小小的PDF

1、题目描述&#xff0c;下载附件是一个PDF&#xff0c;打开之后是这样&#xff0c;有两页PDF 2、用winhex分析&#xff0c;没有发现奇怪的地方 3、在kali中binwalk发现有多张照片 4、接着使用foremost将图片分离出来&#xff0c; 5、得到3张图片&#xff0c;打开第3张图片&am…

数字滤波器和模拟滤波器(一)

模拟滤波器和数字滤波器&#xff08;一&#xff09; 下面介绍模拟滤波器和数字滤波器的频率响应的异同&#xff0c;以及如何使用python地scipy.signal来绘制其频谱响应和冲激阶跃响应。在第二期将谈到如何设计模拟滤波器和数字滤波器。 在正文之间&#xff0c;应该介绍连续时…

Spark 性能调优——分布式计算

前言 分布式计算的精髓&#xff0c;在于如何把抽象的计算流图&#xff0c;转化为实实在在的分布式计算任务&#xff0c;然后以并行计算的方式交付执行。今天这一讲&#xff0c;我们就来聊一聊&#xff0c;Spark 是如何实现分布式计算的。分布式计算的实现&#xff0c;离不开两个…

Shell脚本学习_字符串变量

目录 1.Shell字符串变量&#xff1a;格式介绍 2.Shell字符串变量&#xff1a;拼接 3.Shell字符串变量&#xff1a;字符串截取 4.Shell索引数组变量&#xff1a;定义-获取-拼接-删除 1.Shell字符串变量&#xff1a;格式介绍 1、目标&#xff1a; 能够使用字符串的三种方式 …

详解linux设备下的/dev/null

/dev/zero是一个特殊的设备文件&#xff0c;它在Linux系统中通常被用来生成无限数量的零数据流。 这个设备文件位于/dev目录下&#xff0c;它不代表任何实际的硬件设备&#xff0c;而是一个虚拟设备。 当从/dev/zero设备中读取数据时&#xff0c;会得到无限数量的零字节&…

JAVA开发的一套(智造制造领航者云MES系统成品源码)saas云MES制造执行系统源码,全套源码,支持二次开发

JAVA开发的一套&#xff08;智造制造领航者云MES系统成品源码&#xff09;saas云MES制造执行系统源码&#xff0c;全套源码&#xff0c;支持二次开发 1990年11月&#xff0c;美国先进制造研究中心AMR&#xff08;Advanced Manufacturing Research&#xff09;就提出了MES&#…

进程通信(IPC-Inter Process Communication)

进程之间的通信通过内核空间实现 IPC技术 ①管道(匿名管道/命名管道-FIFO队列) ②System V IPC(消息队列、信号量和共享内存) ③套接字(UNIX套接字&Internet套接字) ※信号 软中断&#xff0c;信号提供了一种处理异步事件的方法&#xff0c;作为进程通信的一种机制&am…

D455相机RGB与深度图像对齐,缓解相机无效区域的问题

前言 上一次我们介绍了深度相机D455的使用&#xff1a;intel深度相机D455的使用-CSDN博客&#xff0c;我们也看到了相机检测到的无效区域。 在使用Intel深度相机D455时&#xff0c;我们经常会遇到深度图中的无效区域。这些无效区域可能由于黑色物体、光滑表面、透明物体以及视…

大学国学搜题软件?分享7个软件和公众号,来对比看看吧 #经验分享#微信#媒体

在大学里&#xff0c;高效的学习工具可以帮助我们更好地管理时间和资源&#xff0c;提高学习效果。 1.彩虹搜题 这是个老公众号了 多语言查询支持&#xff0c;满足国际用户需求。全球通用&#xff0c;无障碍搜题。 下方附上一些测试的试题及答案 1、某酸碱指示剂的&#xf…

java线程池介绍

在Java中&#xff0c;线程池是用来管理和复用线程的一种机制&#xff0c;它可以显著提升程序性能&#xff0c;特别是在大量短期异步任务的场景下。以下是创建和使用线程池的基本步骤&#xff1a; 1.创建线程池: 使用java.util.concurrent.Executors类的静态工厂方法创建线程池&…

How to install a dataset from huggingface?

当我从抱抱脸上git clone imdb数据集时&#xff0c;plain_text里的文件是这样的&#xff1a;

【经验分享】不同内网服务器之间利用webdav互传文件

目录 0、前言1、授权webdav应用2、下载webdavclient33、替换相关代码 0、前言 最近&#xff0c;我在处理两台服务器间的文件传输问题时遇到了不少难题。这两台服务器并不处于同一内网环境&#xff0c;导致无法通过SFTP进行文件传输。由于这些服务器属于局域网&#xff0c;并且…

Python初步使用教程

1.基本输出print函数 a10 b20 print(a)#输出结束后会自动换行 print(b) print(a,b,猪猪侠)#print中sep决定三者之间会存在空格#连接方法一 print(猪猪,end) print(侠) #连接方法二&#xff08;只能是字符串和字符串连&#xff09; print(超级无敌)print(chr(67)) print(ord(猪…

PromptPort:为大模型定制的创意AI提示词工具库

PromptPort&#xff1a;为大模型定制的创意AI提示词工具库 随着人工智能技术的飞速发展&#xff0c;大模型在各行各业的应用越来越广泛。而在与大模型交互的过程中&#xff0c;如何提供精准、有效的提示词成为了关键。今天&#xff0c;就为大家介绍一款专为大模型定制的创意AI…

植物大战僵尸杂交版2024潜艇伟伟迷

在广受欢迎的游戏《植物大战僵尸》的基础上&#xff0c;我最近设计了一款创新的杂交版游戏&#xff0c;简直是太赞了&#xff01;这款游戏结合了原有游戏的塔防机制&#xff0c;同时引入新的元素、角色和挑战&#xff0c;为玩家提供了全新的游戏体验。 植物大战僵尸杂交版最新绿…

【大模型】基于Hugging Face调用及微调大模型(1)

文章目录 一、前言二、Transformer三、Hugging Face3.1 Hugging Face Dataset3. 2 Hugging Face Tokenizer3.3 Hugging Face Transformer3.4 Hugging Face Accelerate 四、基于Hugging Face调用模型4.1 调用示例4.2 调用流程概述4.2.1 Tokenizer4.2.2 模型的加载4.2.3 模型基本…