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

【力扣题】题目描述:

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

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

【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]# 出队的栈 为空时# 入队的栈 没有元素,返回-1if 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.rhkb.cn/news/184163.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 设计模式——解释器模式

目录 1.概述2.结构3.案例实现3.1.抽象表达式类3.2.终结表达式3.3.非终结表达式3.4.环境类3.5.测试 4.优缺点5.使用场景 1.概述 (1)如下图,设计一个软件用来进行加减计算。我们第一想法可能就是使用工具类,提供对应的加法和减法的…

linux粘滞位的介绍及使用

文章目录 1.粘滞位的引入2.粘滞位的使用 1.粘滞位的引入 首先看一个场景 已知 对目录无w权限时 无法进行目录中的文件的创建/删除操作但是普通用户通过sudo命令 以root身份创建一个文件 rw- r-- r-- 普通用户此时是other 没有w权限 但却可以删除 [root和普通用户在一个目录下时…

mysql之子表查询、视图、连接查询

1、子查询返回的结果只能是某列,不能是多列。where条件in什么,子查询的列就是什么 (1)多表联查(不要超过3张表)重点 ①in包含 ②not in取反(加上where条件过滤,否则没意义&#xff…

基于C#的GRPC

GRPC gRPC(gRPC Remote Procedure Call)是由Google开发的高性能、跨语言的远程过程调用框架。它基于HTTP/2协议进行通信,支持多种编程语言,包括C, C#, Java, Python等,使不同语言的应用程序可以通过远程调用相互通信。…

C#创建Windows Service(Windows 服务)基础教程

Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的。所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Windows Service写很深入…

软件工程第十周

测试过程 单元测试 注意出错处理!单元测试的数据处理部分请见Junit 单元测试之错误和异常处理-CSDN博客 单元测试准则 白盒:对系统结构非常清楚!就像大题注重过程。 单元测试的测试环境 一定要保证整个环境是完整的,尽管可能没…

论文阅读——变化检测

Viewpoint Integration and Registration with Vision Language Foundation Model for Image Change Understanding 只有fused adapter image encoder, viewpoint registration flow, semantic emphasizing module, 和 fully connected layer 训练,其他参数冻结。 F…

数据结构(c语言版) 队列

链队列 要求&#xff1a;实现链队列的创建、初始化、入队、出队 &#xff08;先进先出&#xff09; 代码 // // Created by My.cy on 2023/10/19. // //链队列 创建、初始化、入队、出队 先进先出#include <stdio.h> #include <malloc.h>//定义结构体 struct…

【Android】android studio 怎么下载NDK

序言 新版的android studio在【Project Structure】里面的NDK路径是灰色的&#xff0c;无法点击&#xff0c;导致找不到ndk路径&#xff0c;也无法添加ndk。 下载方法 去这里找&#xff0c;一定要点这个按钮才能出现ndk。 下载之后&#xff0c;要在这个文件里面添加ndk路径

【JS】判断字符串是否为 url 的方法

文章目录 用法解析 用法解析 当你传递一个字符串给 URL 构造函数时: 如果字符串是一个有效的 URL&#xff0c;它将返回一个新的 URL 对象。否则&#xff0c;它将返回一个错误。 const url new URL("https://www.baidu.com/"); console.log(url);函数封装&#xf…

visual studio Python 配置QGIS(qgis)教程

visual studio Python 配置QGIS&#xff08;qgis&#xff09;教程 这个教程全网独一份啊&#xff0c;博主是自己摸索出来的。 visual studio Python 配置QGIS&#xff08;qgis&#xff09;环境一共分为两部&#xff1a; 第一步安装QGIS&#xff1a; 下载链接如下 https://www…

基于FPGA的模板匹配红外目标跟踪算法设计

为什么要写这篇文章 我写这篇文章的原因是一天在B站看到了一个大神发的视频是关于跟踪一个无人机的&#xff0c;看到作者跟网友的回复说是用的图像匹配算法&#xff0c;我就在网上搜索相关资料&#xff0c;最终找到一篇文献。文献中对该算法的评价很高&#xff0c;满足制导系统…

在湖北考一个安全员c3住建厅安全员c证持证上岗

在湖北考一个安全员c3住建厅安全员c证持证上岗 建筑施工行业专职安全员&#xff0c;从事建筑行业安全或者是安全管理方面的工作&#xff0c;都需要有安全员C证&#xff0c;湖北省安全员C3是属于安全员C证中的一种。 安全员C3证涵盖范围广&#xff0c;大部分报考人员都是选择C…

面试题:线上MySQL的自增id用尽怎么办?

文章目录 前言表定义自增值idInnoDB系统自增row_idXidInnodb trx_id InnoDB数据可见性的核心思想为什么要加248&#xff1f;为何只读事务不分配trx_id&#xff1f;thread_id 总结 前言 MySQL的自增id都定义了初始值&#xff0c;然后不断加步长。虽然自然数没有上限&#xff0c…

竞赛 深度学习疲劳检测 驾驶行为检测 - python opencv cnn

文章目录 0 前言1 课题背景2 相关技术2.1 Dlib人脸识别库2.2 疲劳检测算法2.3 YOLOV5算法 3 效果展示3.1 眨眼3.2 打哈欠3.3 使用手机检测3.4 抽烟检测3.5 喝水检测 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习加…

Web服务器实战

网站需求 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个网站目录分别显示学生信息&#xff0c;教学资料和缴费网站&#xff0c;基于www.openlab.com/student 网站访问学生信息&#xff0c;www.openlab.com/data网站访问教学资料 www…

Spring Boot创建多模块项目

创建一个普通的Spring Boot项目, 然后只留下 pom.xml 剩下的都删掉 删除多余标签 标识当前为父模块 创建子模块 删除子模块中多余标签 声明父模块 在父模块中声明子模块

【MongoDB-Redis-MySQL-Elasticsearch-Kibana-RabbitMQ-MinIO】Java全栈开发软件一网打尽

“Java全栈开发一网打尽&#xff1a;在Windows环境下探索技术世界的奇妙之旅” 前言 全栈开发是一项复杂而令人兴奋的任务&#xff0c;涵盖了从前端到后端、数据库到可视化层、消息队列到文件存储的广泛领域。本文将带您深入探讨在Windows环境下进行全栈开发的过程&#xff0…

CRM中的销售机会管理是什么?三个步骤帮你创建销售渠道

企业销售业务中&#xff0c;有个名词叫做“机会管理”&#xff0c;有效的机会管理可以帮助销售人员准确地抓住潜在客户群体&#xff0c;并将其转化为真正的客户、持续带来收入。CRM客户管理系统也是销售机会管理的一个重要工具&#xff0c;帮助销售人员与正确的人建立起关系&am…

Spring基础(2):放弃XML,走向注解

上一篇并没有实际地带大家去看源码&#xff0c;而是介绍了两个概念&#xff1a; BeanDefinitionBeanPostProcessor 当然&#xff0c;我介绍得非常笼统&#xff0c;不论是BeanDefinition还是BeanPostProcessor其实都有着较为复杂的继承体系&#xff0c;种类也很多。作为Spring…