当前位置: 首页 > news >正文

栈和队列(二) : 用栈实现队列

leetcode232.用栈实现队列

https://leetcode-cn.com/problems/implement-queue-using-stacks/

使用栈实现队列的下列操作:

push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首部移除元素。 peek() – 返回队列首部的元素。 empty() – 返回队列是否为空。

示例:
示例
说明及进阶

思路

使用栈来模式队列的行为,如果仅仅用一个栈,是一定不行的,所以需要两个栈一个输入栈,一个输出栈,这里要注意输入栈和输出栈的关系。

在push数据的时候,只要数据放进输入栈就好,但在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入),再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以了。

最后如何判断队列为空呢?如果进栈和出栈都为空的话,说明模拟的队列为空了。

在代码实现的时候,会发现pop() 和 peek()两个函数功能类似,代码实现上也是类似的,可以思考一下如何把代码抽象一下。

C++代码

class MyQueue {
public:stack<int> stIn;stack<int> stOut;/** Initialize your data structure here. */MyQueue() {}/** Push element x to the back of queue. */void push(int x) {//push将数据放入输入栈stIn.push(x);}/** Removes the element from in front of queue and returns that element. */int pop() {//pop先对stOut判空if (stOut.empty()){//为空则将输入栈中所有元素放入输出栈中while (!stIn.empty()){stOut.push(stIn.top());stIn.pop();}}//取输出栈栈顶元素int result = stOut.top();stOut.pop();return result;}/** Get the front element. */int peek() {//因和pop函数功能类似, 直接复用int result = this->pop();stOut.push(result); //因为pop中移除了元素,所以这里将其重新添加回去return result;}/** Returns whether the queue is empty. */bool empty() {return stIn.empty() && stOut.empty();}
};

原文:https://github.com/youngyangyang04/leetcode-master/blob/master/problems/0232.%E7%94%A8%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.md

公众号: 代码随想录

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

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

c++程序设计中虚基类,多继承知识点

一.前言 如上 二.题目 分别声明Teacher(教师)类和Cadre(干部)类&#xff0c;采用多重继承方式由这两个类派 生出新类Teacher_Cadre(教师兼干部&#xff09;类。要求&#xff1a; &#xff08;1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 &#xff08;2&a…...

FFmpeg:avcodec_encode_video()

本文简单分析FFmpeg的avcodec_encode_video2()函数。该函数用于编码一帧视频数据。avcodec_encode_video2()函数的声明位于libavcodec\avcodec.h&#xff0c;如下所示。 /*** Encode a frame of video.** Takes input raw video data from frame and writes the next output p…...

SpringBoot中必须掌握的45个注解

1.SpringBoot/spring SpringBootApplication: 包含Configuration、EnableAutoConfiguration、ComponentScan通常用在主类上&#xff1b; Repository: 用于标注数据访问组件&#xff0c;即DAO组件&#xff1b; Service: 用于标注业务层组件&#xff1b; RestController: …...

侯捷CPP---面向对象(上)

侯捷CPP---面向对象&#xff08;上&#xff09;前言头文件防卫式声明class 分类不带指针的class&#xff08;complex&#xff09;成员变量私有化inline function&#xff08;内联函数&#xff09;构造函数常量成员函数参数传递返回值传递友元函数操作符重载临时对象带指针的cla…...

使用注解开发

1&#xff1b; 2.mapper 2.测试...

苏宁易购启动六一宝宝节,首提“共情消费”

5月26日晚8点&#xff0c;苏宁易购六一宝宝节掰头大会在多个平台播出。六一宝宝节全面启动。 六一宝宝节定位于打破营销套路&#xff0c;打破传统电商促销节奏。它是大促&#xff0c;更是一场成年人释放压力、共情消费的盛典。 掰头大会灵魂辩题 开启宝宝节 六一宝宝节的启…...

设计一个windows应用程序,定义一个Student类,包含学号和姓名两个字段,并定义一个班级类ClassList

设计一个windows应用程序&#xff0c;定义一个Student类&#xff0c;包含学号和姓名两个字段&#xff0c;并定义一个班级类ClassList&#xff0c;该类包含一个Student集合&#xff0c;使用索引器访问该集合。 &#xff08;1&#xff09;创建一个Windows应用程序Myproject6_1。 …...

python笔记19年8月23日

-------------py打包exe教程------------ 准备好需要转换的py文件和一张用于做图标.ico的照片 将他们存放于同一个文件夹中,文件的路径全部为英文路径 1.利用cmd窗口安装pyinstaller插件 指令 :pip install pyinstaller 2.使用cd指令到py文件夹 3.执行命令 pyinstaller -F -i X…...

系统集成模拟3-55分

1、合同法律关系是指由合同法律法规调整的在民事流转过程中形成的&#xff08;权利义务关系&#xff09; 2、当已经采取了多种沟通方式还未能与用户达成一致时&#xff0c;应考虑沟通升级原则-双方高层沟通 3、数据域安全包括&#xff1a;行级数据域安全&#xff0c;数据域安全…...

Centos7 配置DHCP

实验内容及步骤 1、实验背景 某企业计划构建一台 DHCP服务器来解决IP地址动态分配的问题&#xff0c;要求能够分配 IP地址以及网关、DNS等其它网络属性信息。同时要求DHCP服务器为DNS、WEB、Samba服务器分配固定IP 地址。 2、网络拓扑 略. 3、实验环境 假设企业DHCP服务器…...

JVM常见配置汇总

堆设置 -Xms:初始堆大小-Xmx:最大堆大小-XX:NewSizen:设置年轻代大小-XX:NewRation:设置年轻代和年老代的比值。如:为3&#xff0c;表示年轻代与年老代比值为1&#xff1a;3&#xff0c;年轻代占整个年轻代年老代和的1/4-XX:SurvivorRation:年轻代中Eden区与两个Survivor区的比…...

从类,API,框架三个层面学习如何设计可复用软件实体的具体技术学习心得

从类&#xff0c;API&#xff0c;框架三个层面学习如何设计可复用软件实体的具体技术学习心得软件复用概述软件复用概念软件复用的软件支持三方面讲述软件复用类代码复用设计的复用分析的复用测试信息的复用Liskov替换原则 ——LSPAPI框架软件复用概述 软件复用概念 软件复用(…...

惠普(HP) Officejet Pro 8610商用彩色喷墨一体机

专业彩色打印件的单页成本比激光打印机低 50%,从而在日常打印中节省更多打印成本。无论您身在何处,均可通过任意移动设备进行打印。 借助惠普“云打印”技术,您现在可以随时随地,随心打印。使用智能复印解决方案,创建完美无瑕的副本,同时轻松打印双面身份证。专业彩色打印…...

easyPOI和导入复杂excel的各种坑

//easyPOI的依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.3</version> </dependency>//要操作pdf,word还是用原生poi比较好 <dependency><groupId>org.…...

用直流电机测转速——测速发电机标定实验

测速发电机标定实验 文章目录测速发电机标定实验1 测速发电机原理和应用1.1 原理1.2 应用2 硬件搭建3 实验数据4 总结1 测速发电机原理和应用 1.1 原理 直流电机同时也是一个发电机。也就是说&#xff0c;当直流电机被通入直流电的时候&#xff0c;会将电能转化为机械能&…...

httprunner_locust_场景1:登录1次,添加10次地图

场景1&#xff1a;任务执行 > login执行1次&#xff0c;addtitle执行10次 from locust import HttpUser, task, SequentialTaskSet, between import json# 场景1&#xff1a;任务执行 > login执行1次&#xff0c;addtitle执行10次 class FlashTask(SequentialTaskSet): …...

Actor模型

传统的游戏服务器要么是单线程要么是多线程&#xff0c;过去几十年里CPU一直遵循摩尔定律发展&#xff0c;带来的结果是单核频率越来越高。而近几年摩尔定义在CPU上已然失效&#xff0c;为什么呢&#xff1f; 大于在2003年左右&#xff0c;计算机的核心特性经历了一个重要的变…...

冠美会计

...

C1任务03-Web基础与布局

文章目录任务一:使用富文本编辑器任务二:所见所得 式开发拓展任务:CSS盒子模型任务一:使用富文本编辑器 描述:制作表,让表格隔行换色.加入JavaScript按钮弹出框. 富文本编辑器 <style>.cl{color:red}table,tr,td{border:1px solid; padding:5px 20px 5px 0;font-size:10…...

前端基础:通过 《猜价格》游戏实战js选择语句

前端基础&#xff1a;通过 《猜价格》游戏实战js选择语句 谈到选择&#xff0c;其实人生有好多选择。学生毕业是选择留下家长还是远走他乡是一种选择&#xff0c;站在人生的十字路口不知道往哪个方向走也是一种选择&#xff0c;如下图所示。 程序也是一样的&#xff0c;在程序…...

Hudi 系列(二)- 编译 hudi

编译 hudi 如果是第一次编译 hudi 会花很长时间&#xff0c;maven 本地仓库为空的情况下&#xff0c;我花了40分钟&#xff08;视网络环境&#xff09;。编译步骤如下&#xff1a; 下载 releace 源代码&#xff0c;https://hudi.apache.org/releases&#xff0c;现在的最新版本…...

因为一个字符校对问题,我的大厂面试挂了

摘要&#xff1a;字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。 本文分享自华为云社区《一个字符校对规则引发的血案》&#xff0c;原文作者&#xff1a;DRS技术快客 。 问题现场 我们先看一个建表语句 CREATE TABLE collate_test ( val1 char(32…...

jvm学习参考资料

参考资料 本书名为“深入理解Java虚拟机”&#xff0c;但要想真的深入理解虚拟机&#xff0c;仅凭一本书肯定是远远不够的&#xff0c; 读者可以通过以下方式查找到更多关于Java虚拟机方面的资料。笔者在写作此书的时候&#xff0c;也从下面这 些参考资料中得到过很大的帮助。 …...

监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)

监控系统实践第12天&#xff1a;5天上手Laravel8.5之路由篇&#xff08;1/5&#xff09;前言安装与配置Laravel基础功能&#xff1a;路由(Route)路由是什么&#xff1f;设置路由的请求方式定义路由的路径定义路由的内容闭包中定义内容控制器中定义内容视图中定义内容其它内容的…...

今日早报 每日精选12条新闻简报 每天一分钟 知晓天下事 6月1日

今日早报|每日晨报|每日简报|热点新闻简报|一分钟简报|每日早报精选12条新闻简报 今日早报——365资讯简报&#xff0c;每天精选12条热点新闻简报1条微语&#xff0c;每天一分钟&#xff0c;知晓天下事&#xff01; 2021年6月1日 星期二 农历四月廿一 儿童节 1、新修订《未成…...

windowes 虚拟机添加 Mac os 时,运行 Starting VMware services...闪退

先以 管理员身份 运行cmd 然后进入到脚本所在目录&#xff0c;运行目录即可...

while 循环语法结构

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" content"widthdevice-width, initi...

LeetCode每日一题 - 有多少小于当前数字的数字

题目&#xff1a; 给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&#xff0c;对于每个 nums[i] 你必须计算出有效的 j 的数量&#xff0c;其中 j 满足 j ! i 且 nums[j] < nums[i] 。 以数组形式返回…...

SVN常用命令集合_艾孜尔江撰

在平时的工作中我们大多数情况下喜欢使用Tortoise SVN之类的可视化版本控制工具&#xff0c;但笔者发现&#xff0c;命令行的方式进行版本控制在执行速度上将会更快一些。尽管在大多数情况下使用命令行并不是很方便&#xff0c;但只要用户习惯了&#xff0c;就非常顺畅了。针对…...

2021java1年经验公司面试真题

1面我就省略了&#xff0c;主要就是看你的以前工作情况&#xff0c;以前工作内容能不能清晰表达&#xff0c;还有一些简单的java基础问题&#xff0c;大概20多分钟。二面就是40分钟基础&#xff0c;20分钟业务&#xff0c;10分钟个人情况。下面是二面问题 1.自我介绍 做一下自…...

YOLOv5、v7改进之三十九:引入改进遮挡检测的Tri-Layer插件 | BMVC 2022

前 言&#xff1a;作为当前先进的深度学习目标检测算法YOLOv7&#xff0c;已经集合了大量的trick&#xff0c;但是还是有提高和改进的空间&#xff0c;针对具体应用场景下的检测难点&#xff0c;可以不同的改进方法。此后的系列文章&#xff0c;将重点对YOLOv7的如何改进进行详…...

【论文笔记】—低照度图像增强—Supervised—RetinexNet—2018-BMVC

【论文介绍】 本文提出用自己制作的弱光/正常光图像对的弱光数据集LOL数据集&#xff0c;利用Retinex理论中的不同光照下的图片反射率是相同的这一特点让其共享反射率&#xff0c;通过一个分解网络和一个增强网络对低照度图片进行处理得到最终增强的结果。 【题目】&#xf…...

论文阅读:BMVC 2015 Deep Face Recognition

待续...

BMVC2018图像检索论文—使用区域注意力网络改进R-MAC方法

刚刚开源代码与预训练模型。(关注“我爱计算机视觉”公众号&#xff0c;一个有价值有深度的公众号~)来自BMVC2018会议论文&#xff1a;《Regional Attention Based Deep Feature for Image Retrieval》使用卷积神经网络&#xff08;CNN&#xff09;进行有效图像检索的许多方法近…...

BMVC reading list

Combining Local and Global Cues for Closed Contour Extraction Vida Movahedi, James Elder FRIF: Fast Robust Invariant Feature Zhenhua Wang A Novel Approach for Efficient SVM Classification with Histogram Intersection Kernel转载于:https://www.cnblogs.com/hSh…...

rabbitmq配置windows authentication(windows account)登录

rabbitmq配置windows authentication(windows account开启插件配置文件创建一个不需要密码的账号&#xff0c;赋予administrator权限。用windows账号和密码登录rabbitmq加密明文密码创建密钥的文件,添加密钥字符串加密解密用户名密码配置加密后的字符串重启rabbitmq&#xff0c…...

论文解读|BMVC 2019|DABNet: Depth-wise Asymmetric Bottleneck for Real-time Semantic Segmentation

DABNet: Depth-wise Asymmetric Bottleneck for Real-time Semantic Segmentation Paper&#xff1a;DABNet Github&#xff1a;Code 摘要 语义分割作为一项像素级的预测任务&#xff0c;需要巨大的计算量和参数才能获得高性能。最近&#xff0c;由于对自主系统和机器人的需求…...

华人一作获最佳论文奖,第四大视觉顶会BMVC大奖出炉!

点击上方&#xff0c;选择星标或置顶&#xff0c;不定期资源大放送&#xff01;阅读大概需要15分钟Follow小博主&#xff0c;每天更新前沿干货作者 | 陈大鑫转自&#xff1a;AI科技评论近日&#xff0c;BMVC 2020最佳论文奖、最佳论文奖亚军、最佳学生论文奖、最佳学生论文奖亚…...

牛津大学VGG团队提出:改进遮挡检测的Tri-Layer插件 | BMVC 2022

点击下方卡片&#xff0c;关注“CVer”公众号AI/CV重磅干货&#xff0c;第一时间送达作者&#xff1a;Championchess | 已授权转载&#xff08;源&#xff1a;知乎&#xff09;编辑&#xff1a;CVerhttps://zhuanlan.zhihu.com/p/575588904点击进入—> CV 微信技术交流群A …...

BMVC 2020 各奖项公布!最佳论文可能就是你要的涨点神器

BMVC 2020 已经闭幕&#xff0c;官方公布了5篇获奖论文&#xff0c;每篇都值得关注&#xff0c;本文就带领大家看看这些获奖论文研究内容是什么。01 最佳论文奖Delving Deeper into Anti-aliasing in ConvNets作者 | Xueyan Zou, Fanyi Xiao, Zhiding Yu, Yong Jae Lee单位 …...

论文翻译:(BMVC 2022)You Only Need 90K Parameters to Adapt Light:a Light Weight Transformer

You Only Need 90K Parameters to Adapt Light: a Light Weight Transformer for Image Enhancement and Exposure Correction (BMVC 2022) Paper: https://arxiv.org/abs/2205.14871 Code:https://github.com/cuiziteng/Illumination-Adaptive-Transformer 知乎解读&#xf…...

bmvc哪个出版社出版_在出版饮食上

bmvc哪个出版社出版So I launched this little tool csssprites.com that allows you to upload images and create one CSS sprite image, plus it gives the background-position CSS definitions to use in order to show parts of the sprite. People have been trying it …...

BMVC会议公告

会议约稿 在这里宣传一下&#xff0c;供那些有意再次发表文章的大牛们看看 http://bmvc2014.cs.nott.ac.uk/ 下面是对这个会议的一些分析&#xff08;转载自网络 &#xff09; ------------------------------------------------------------------------------------------…...

BMVC 2020 开幕,196篇论文73篇开源~

BMVC 是 British Machine Vision Conference 缩写&#xff0c;是由英国机器视觉学会主办的国际计算机视觉顶会&#xff0c;根据谷歌学术显示在 Computer Vision & Pattern Recognition 领域&#xff0c;BMVC 是仅次于CVPR\ICCV\ECCV的国际会议&#xff08;排名分先后&#…...

论文解读|BMVC 2019 |Fast-SCNN Fast Semantic Segmentation Network

论文地址&#xff1a;地址 文章目录摘要一、引入二、Fast-scnn架构1.整体架构2.Learning to Downsample3.Global Feature Extractor4.Feature Fusion Module5.Classifier三、实验1、Evaluation on Cityscapes2、Pre-training and Weakly Labeled Data3、Lower Input Resolution…...

BMVC-2021-DETR: End-to-End Object Detection with Transformers 阅读笔记

目录DETR整体架构BackboneTransformer encoderTransformer decoderPrediction feed-forward networks (FFNs)Auxiliary decoding lossesQUOTE论文地址&#xff1a; https://arxiv.org/abs/2005.12872 代码地址&#xff1a; https://github.com/facebookresearch/det https://gi…...

Mavn 的 systemPath 无效,Windows 上成功,Linux 失败问题解决

Maven 官网不建议使用 systemPath&#xff0c;这个是 Maven 自家专用的&#xff0c;SonarQube 也会扫描出来提示不规范&#xff0c;在实际使用中若依赖了 systemPath 的包被其他包依赖时其他包会找不到这个依赖报错&#xff0c;这个我在规范/指引中说过&#xff1a; https://gi…...

1. 开篇:既简单又复杂的基础框架

同样的基础但不简单 之前在写 《从 0 开始深入学习 Spring》 小册时&#xff0c;阿熊提到过一件事&#xff1a;学习 JavaEE 开发的第一个框架&#xff0c;大多数是推荐 MyBatis 的&#xff0c;因为它相对简单&#xff0c;学习起来也相对轻松。不过不要因为 MyBatis 入门简单&a…...

Maven的安装、配置及使用入门

第1章 Maven简介 1.1 何为Maven/2 1.2 为什么需要Maven/4 1.3 Maven与极限编程/7 1.4 被误解的Maven/8 1.5 小结/9 1.1 何为Maven Maven这个词可以翻译为“知识的积累”&#xff0c;也可以翻译为“专 家”或“内行”。本书将介绍Maven这一跨平台的项目管理工具。作为Apache组…...

php版本升级,composer install / update 失败

composer install / update 出现以下类似问题&#xff1a; Problem 1 - bacon/bacon-qr-code 2.0.0 requires php ^7.1 -> your php version (8.0.3) does not satisfy that requirement. - simplesoftwareio/simple-qrcode 3.0.0 requires bacon/bacon-qr-code 2.0…...