【Python3】【力扣题】232. 用栈实现队列

news2024/10/4 20:38:07

【力扣题】题目描述:

栈:线性集合。后进先出。

队列:线性集合。先进先出。

【Python3】代码:

解题思路:两个栈,一个入队的栈,一个出队的栈。出栈时,若出队的栈为空,才将入队的栈中元素依次放入出队的栈,获取出队的栈栈顶的元素;若出队的栈已有元素,则直接获取出队的栈栈顶的元素。

class MyQueue:

    def __init__(self):
        self.aqueue = []             # 入队的栈
        self.bqueue = []             # 出队的栈

    def push(self, x: int) -> None:
        self.aqueue.append(x)

    def pop(self) -> int:
        peek = self.peek()          # 指针指向出队的栈 栈顶
        return self.bqueue.pop()

    def peek(self) -> int:
        # 出队的栈 有元素,直接获取栈顶元素
        if self.bqueue: return self.bqueue[-1]
        # 出队的栈 为空时
        # 入队的栈 没有元素,返回-1
        if not self.aqueue: return -1
        # 入队的栈 有元素,将入队的栈中元素依次放入出队的栈
        for _ in range(len(self.aqueue)):
            self.bqueue.append(self.aqueue.pop())
        # 返回 出队的栈 栈顶元素
        return self.bqueue[-1]

    def empty(self) -> bool:
        return not self.bqueue and not self.aqueue


# Your MyQueue object will be instantiated and called as such:
# obj = MyQueue()
# obj.push(x)
# param_2 = obj.pop()
# param_3 = obj.peek()
# param_4 = obj.empty()

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

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

相关文章

最全|阿里云ACP认证考试快速通关攻略

目前云计算人才紧缺,预计2025年我国云计算产业人才缺口预计将达到150万,因此现在云计算工程师的薪资是相当可观的。而阿里云从2016年起就一直在国内市场占据着领先地位 。 而阿里云ACP认证是当前比较热门的一个证书,也是从事云计算、大数据、…

服务号升级为订阅号的方法

服务号和订阅号有什么区别?服务号转为订阅号有哪些作用?我们都知道,服务号一个月只能发4次文章,但是订阅号每天都能发文章。不过在接收消息这一方面,服务号群发的消息有消息提醒,并显示在对话框&#xff1b…

SharePoint

网址: Sign in to your account 点击左侧小房子标志,到起始页面,再点击创建网站,选择自己想要的规则 创建好的网站 新建数据表 可以创建空白列表,也可以从其他导入 选择从现有列表里导入的话,只能导入表…

三维数字沙盘相比实体沙盘,有哪些创新性的优势?

沙盘是一种常用于展示城市规划、重要区域以及建筑物等内容的模型,并随着多媒体技术的不断进步,沙盘的应用形式也变得更加多样化,如今更是在规划馆、企业展厅、校史馆等主题展厅中扮演着不可或缺的角色,尤其是三维数字沙盘也是凭借…

每天五分钟计算机视觉:卷积层比全连接层的优势是什么?

本文重点 卷积神经网络中为什么要使用卷积,它和全连接层相比,卷积层的两个主要优势在于参数共享和稀疏连接。 参数比较 对于一张32*32*3图片: 如果用了 6 个大小为 55 的过滤器,输出维度为 28286,如果使用卷积层我们的参数就是5*5*3*6+6=456 如果使用全连接32323=307…

day61--单调栈2

503.下一个更大元素II 42. 接雨水 第一题:下一个更大元素2 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之…

在微信小程序中怎么实现拼团活动

随着互联网的快速发展,拼团活动已成为一种时尚的购物方式。在微信小程序中,拼团活动同样受到广大用户的青睐。本文将为你介绍微信小程序中实现拼团活动的方法,让你轻松玩转团购,享受优惠乐趣。 一、微信小程序拼团活动的优势 方便…

【ReID】1、行人重识别模型

文章目录 一、概念二、实现方案三、代码 一、概念 ReID,也就是 Re-identification,其定义是利用算法,在图像库中找到要搜索的目标的技术,所以它是属于图像检索的一个子问题。 说白了,在监控拍不到人脸的情况下&#…

Samtec连接器技术科普 | 无线电源充电和Samtec EMI技术

摘要/前言 还记得,数年前,第一次在民用层面大量出现无线充电的时候,我们大部分人都被这样的“黑科技”所震惊。 时至今日,从前只能在科幻电影中看到的场景,都在逐一成为现实,而无线电源、无线充电等应用早…

基于SSM框架的电脑测评系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

leetcode:762. 二进制表示中质数个计算置位(python3解法)

难度:简单 给你两个整数 left 和 right ,在闭区间 [left, right] 范围内,统计并返回 计算置位位数为质数 的整数个数。 计算置位位数 就是二进制表示中 1 的个数。 例如, 21 的二进制表示 10101 有 3 个计算置位。 示例 1&#xf…

爆火的小红书app拉新项目 地推网推百搭项目 附申请渠道

小红书app拉新在市场还是饱受地推团队和网推团队的喜爱,作业流程操作简单 可以通过“聚量推客”申请小红书app拉新推广 下面附送小红书app的拉新流程,目前也分为普通版本和高价版本(普通版本更稳定,高价版本属于短期活动&#x…

双11购物节想入手一款音画好的智能电视,大家推荐一下吧?

智能家电更新太快,不想三五年后就淘汰,那就入手东芝电视Z700吧,Z700这次把观影体验和音箱效果做到哇塞,既然要享受生活那就要享受高品质的体验。东芝电视拥有70余年的原色调校技术,每款产品都有专属的日本调校工程师匠心打造,可以真实还原画面色彩,而且还有火箭炮音响系统,也是…

安卓 车轮视图 WheelView kotlin

安卓 车轮视图 WheelView kotlin 前言一、代码解析1.初始化2.初始化数据3.onMeasure4.onDraw5.onTouchEvent6.其他 6.ItemObject二、完整代码总结 前言 有个需求涉及到类似这个视图,于是在网上找了个轮子,自己改吧改吧用,拿来主义当然后&…

com.genuitec.eclipse.springframework.springnature

com.genuitec.eclipse.springframework.springnature

计算机毕业论文内容参考|基于spingboot的金融投资顾问推荐系统

文章目录 导文文章重点摘要前言绪论课题背景:国内外现状与趋势:课题内容:相关技术与方法介绍系统分析系统设计系统实现总结与展望1本文总结2后续工作展望导文 计算机毕业论文内容参考|基于spingboot的金融投资顾问推荐系统 文章重点 摘要 基于SpingBoot的金融投资顾问推荐…

大功率电源的应用场景有哪些(高压功率放大器)

大功率电源的应用非常广泛,其应用场景包括但不限于以下几个方面: 工业生产:大功率电源广泛应用于各种工业生产领域,如机床、冶金、化工、电力等。例如,用于驱动液压系统、加热炉、电焊机等设备。 实验室研究&#xff1…

百分点科技受邀参加“第五届治理现代化论坛”

11月4日,由北京大学政府管理学院主办的“面向新时代的人才培养——第五届治理现代化论坛”举行,北京大学校党委常委、副校长、教务长王博,政府管理学院院长燕继荣参加开幕式并致辞,百分点科技董事长兼CEO苏萌受邀出席论坛&#xf…

Leetcode2918. 数组的最小相等和

Every day a Leetcode 题目来源:2918. 数组的最小相等和 解法1:贪心 设数组 nums1 的元素总和为 sum1,其中 0 的个数为 countZero1;数组 nums2 的元素总和为 sum2,其中 0 的个数为 countZero2。 题目要求我们必须…

selenium元素定位 —— 提高篇 CSS定位元素

CSS (Cascading Style Sheets) 是一种用于渲染 HTML 或者 XML 文档的语言,CSS 利用其选择器可以将样式属性绑定到文档中的指定元素。理论上说无论一个元素定位有多复杂都能够定位到元素。 因为不同的浏览器 XPath 引擎不同甚至没有自己的 Xpath 引擎,这…