Acwing-42. 栈的压入、弹出序列

2023-10-30

每一步进行的操作有两种,① 将下一个数压入栈中 ② 将当前栈顶元素弹出

判断当前栈顶元素是否和下一个要输出的数是一样的

① 一样 => 必然会将当前栈顶元素弹出

② 不一样 => 必然会将输入序列的下一个元素加入栈中

class Solution {
public:
    bool isPopOrder(vector<int> pushV,vector<int> popV) {
        if (pushV.size() != popV.size()) return false;
        
        stack<int> stk;
        int i = 0;
        for (auto x : pushV)
        {
            // cout << x << endl;
            stk.push(x);
            while (stk.size() && stk.top() == popV[i])
            {
                // cout << stk.top() << popV[i] << endl;
                stk.pop();
                // cout << i << endl;
                i ++;
            }
        }
        
        return stk.empty();
    }
};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Acwing-42. 栈的压入、弹出序列 的相关文章

随机推荐

  • 伪类实现图片膨胀

  • 知识蒸馏(Knowledge Distillation)

    0 Introduction 知识蒸馏 Knowledge Distillation 简记为 KD 是一种经典的模型压缩方法 核心思想是通过引导轻量化的学生模型 模仿 性能更好 结构更复杂的教师模型 或多模型的 ensemble 在不改变学
  • “Python小屋”1300篇历史文章分类速查表

    总体说明 各分类中的文章是按发布时间逆序排列的 动态更新 公众号所有代码均可作为教学案例 转载请注明出处 请勿用作商业用途 快速查找历史文章的方法 1 单击本文右上角的按钮 然后在弹出的窗口中选择 搜索页面内容 然后输入要找的关键字即可 董
  • QT中QMainWindow、QWidget、QDialog的区别

    QT中QMainWindow QWidget QDialog的区别 QT中QMainWindowQWidgetQDialog的区别 QMainWindow QWidget QDialog QMainWindow 详细描述 QMainWind
  • QT C++开发环境一键快速搭建

    QT C 开发环境一键快速搭建 很简单 只需下载QT creator 地址 http mirrors hust edu cn qtproject archive qt 5 1 5 1 1 qt windows opensource 5 1
  • 微信小程序:关于代码片段的探究

    打开微信开发者工具 在项目旁边有个代码片段的按钮 截图如下 微信官方文档介绍 https mp weixin qq com debug wxadoc dev devtools minicode html 什么是微信小程序的代码片段功能 代码
  • docker创建镜像之Dockerfile

    使用命令 docker build 从零开始来创建一个新的镜像 Dockerfile 是一个用来构建镜像的文本文件 文本内容包含了一条条构建镜像所需的指令和说明 参考 Docker 镜像使用 菜鸟教程 创建Dockerfile文件 runo
  • BigQuery基础查询语句整理

    BigQuery 是 Google Cloud Platform 上一种可以让用户以 SQL 语句来查询大规模数据的云服务 它可以让用户以低廉的价格 快速地访问大量数据 而不需要拥有自己的基础架构 BigQuery 支持多种数据格式 如 C
  • 利用PyTorch C++ API(LibTorch)加载预训练模型及预测

    利用PyTorch C API LibTorch 加载预训练模型及预测 前言 LibTorch是基于PyTorch的包含头文件 库文件和CMake编译 配置 文件的C API CMake编译配置文件并不是必须的 但官方推荐使用 且会持续维护
  • java开发工程师面试问题大全及答案大全

    前言 Alibaba作为国内互联网行业的 老大 一直以来也是很多 数码宝贝 梦寐以求的公司 我个人是做Java开发的 阿里这些年也开发了很多屌炸天的开源项目 像什么Spring Cloud Alibaba 开源Java诊断工具Arthas
  • Ubuntu18.04 安装 samba 服务器

    步骤一 直接使用命令 sudo apt get install samba 步骤二 检查下samba安装信息 使用命令 dpkg l grep i samba 步骤三 使用命令 来启动samba服务 etc init d smbd star
  • 【江苏省赛】C - Cats 找规律+模拟

    原题 输入1 1 输出1 1 输入2 3 输出2 1 2 3 题意 1 20的数字 两个相同数字不能相邻 且他们之间的最小值要严格小于它们 求长度为n的这样的序列 思路 大的插在现有的空中间 如下 1 2 1 2 3 2 3 1 3 2 3
  • 初探ROP

    文章目录 0x01 前言 0x02 什么是ROP 0x03 为什么要ROP 0x04 基本ROP ret2shellcode 含义 从原理中解析ret2shellcode 从例子中解析ret2shellcode 发现利用点 确定利用前提 调
  • 对比和消融实验

    对比实验 Comparative Experiment 和消融实验 Ablation Experiment 是在科学研究中常用的两种实验设计方法 用于评估和验证某个因素对研究结果的影响 对比实验是通过将不同的方法 模型或算法进行比较来评估它
  • Python统计分析库statsmodels的OLS

    statsmodels库官方文档http www statsmodels org stable 里面包含很多统计模型和相应计算结果 一些Linear Regression Models例子http www statsmodels org s
  • xssgame第一关至第五关

    第一关很简单 进入第二关 先尝试 查看页面源代码 可以利用闭合 答案截图 第三关 从源代码可以看到 lt gt 被转义了 所以选了几个不需要 lt gt 这个事件性的 第四关 将单引号换成双引号 第五关 第五关频频出现多余的下划线 只要sc
  • C语言-学生学号成绩读入程序(输出了学生总分、平均分、名次以及学生信息的查询)

    任务描述 成绩排名次 某班期末考试科目为数学 MT 英语 EN 和物理 PH 有最多不超过30人参加考试 考试后要求 1 计算每个学生的总分和平均分 2 按总分成绩由高到低排出成绩的名次 3 输出名次表 表格内包括学生编号 各科分数 总分和
  • 华为OD机试 - 垃圾短信识别(Java)

    题目描述 大众对垃圾短信深恶痛绝 希望能对垃圾短信发送者进行识别 为此 很多软件增加了垃圾短信的识别机制 经分析 发现正常用户的短信通常具备交互性 而垃圾短信往往都是大量单向的短信 按照如下规则进行垃圾短信识别 本题中 发送者A符合以下条件
  • android自带网页提供,Android调用系统自带浏览器打开网页的实现方法

    在Android中可以调用自带的浏览器 或者指定一个浏览器来打开一个链接 只需要传入一个uri 可以是链接地址 启动android默认浏览器 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器 如果手机本身安装了多
  • Acwing-42. 栈的压入、弹出序列

    每一步进行的操作有两种 将下一个数压入栈中 将当前栈顶元素弹出 判断当前栈顶元素是否和下一个要输出的数是一样的 一样 gt 必然会将当前栈顶元素弹出 不一样 gt 必然会将输入序列的下一个元素加入栈中 class Solution publ