首页 > 编程语言 >代码随想训练营第十天(Python)| 232.用栈实现队列 、 225. 用队列实现栈

代码随想训练营第十天(Python)| 232.用栈实现队列 、 225. 用队列实现栈

时间:2023-10-21 15:59:04浏览次数:47  
标签:return 第十天 queue1 队列 self pop Python stack def

232.用栈实现队列

class MyQueue:

    def __init__(self):
        self.stack_in = list()
        self.stack_out = list()


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


    def pop(self) -> int:
        if self.empty():
            return None
        if self.stack_out:
            return self.stack_out.pop()
        else:
            while self.stack_in:
                self.stack_out.append(self.stack_in.pop())
            return self.stack_out.pop()


    def peek(self) -> int:
        node = self.pop()
        if node:
            self.stack_out.append(node)
        return node


    def empty(self) -> bool:
        return not (self.stack_in or self.stack_out)

225. 用队列实现栈

class MyStack:

    def __init__(self):
        self.queue1 = list()
        self.queue2 = list()

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


    def pop(self) -> int:
        if self.empty():
            return None
        if self.queue1:
            for i in range(len(self.queue1)-1):
                self.queue2.append(self.queue1.pop(0))
            res = self.queue1.pop(0)
            self.queue1, self.queue2 = self.queue2, self.queue1
            return res

    def top(self) -> int:
        res = self.pop()
        if res:
            self.push(res)
        return res


    def empty(self) -> bool:
        return not self.queue1

标签:return,第十天,queue1,队列,self,pop,Python,stack,def
From: https://www.cnblogs.com/yixff/p/17779075.html

相关文章

  • python打包成exe
    python打包成exe前提:文件可成功运行,为了方便后续使用或者发送给他人使用pyinstaller-F-F:生成单个文件。缺点:文件启动慢-D:打包成一个目录目录处理打包后文件过大的问题:①win+R进入cmd/powershell②安装虚拟环境:pipinstallvirtualenvpipinstallvirtualenvwrapper-win③制作......
  • Python定时任务框架APScheduler
    Python定时任务框架APSchedulerPython定时任务框架APScheduler详解-CSDN博客python定时任务最强框架APScheduler详细教程-知乎(zhihu.com) 课程详情接口思路一:直接在之前写好的查询所有课程的视图类上,配置一个类即可classCourseView(GenericViewSet,CommonListModelM......
  • python画边界框bounding box
    边界框的坐标方向:pythonopencv画边界框程序:[程序摘自pythonOpenCV画boundingbox并标明数据类]importcv2importnumpyasnpclass_name="car"box_left_top=np.array([75,35])#bbox左上角坐标box_right_bottom=np.array([475,220])#bbox右下角坐标......
  • Python内置的正则库 re
    Python-正则表达式re模块正则表达式(regularexpression,regex)正则表达式模式(pattern)字符普通字符和元字符大多数字母和符号都会简单地匹配自身。例如,正则表达式 test 将会精确地匹配到 test 。(你可以启用不区分大小写模式,让这个正则也匹配 Test 或 TEST ,稍后会详......
  • python tarfile模块
    一、简介tarfile 模块提供了创建、打开、读取和写入tar文件的函数和类。以下是该模块中常用的一些函数和类:tarfile.open(name,mode='r',fileobj=None,**kwargs):打开一个tar文件,返回一个TarFile对象。TarFile.add(name,arcname=None,recursive=True,filter=None):......
  • Python打印动态进度条
    importtimedefmyprocess(percent):ifpercent>1:percent=1#打印对应的#号数量*"#"=>字符串#号效果strvar=int(percent*50)*"#"#\r将后面字符覆盖到行首进行打印%%=>%print("\r[%-50s]%d%%"%(s......
  • Python:Anaconda安装虚拟环境到指定路径
    anaconda 总是会把虚拟环境默认安装至C盘,但是C盘容量有限,所以目标将虚拟环境安装至其他盘。步骤如下:通过查阅anaconda的文档,发现是可以进行指定路径安装的。可以输入如下命令进行查看:condacreate--help安装虚拟环境到指定路径的命令如下:condacreate--prefix=F:\sofe......
  • Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测|附代码数据
    全文下载链接:http://tecdat.cn/?p=20678最近我们被客户要求撰写关于GARCH的研究报告,包括一些图形和统计输出。在本文中,预测股价已经受到了投资者,政府,企业和学者广泛的关注。然而,数据的非线性和非平稳性使得开发预测模型成为一项复杂而具有挑战性的任务在本文中,我将解释如何将 ......
  • python 案例
    这个程序使用了两个包:datetime和playsound。datetime:这是Python标准库中的一个模块,用于处理日期和时间。它提供了许多函数和类,可以让您在Python程序中处理日期和时间。由于datetime是Python的内置模块,因此您无需安装任何其他软件包来使用它。playsound:这是一个第三方包,用于......
  • Python 条件和 if 语句
    Python支持来自数学的通常逻辑条件:等于:a==b不等于:a!=b小于:a<b小于或等于:a<=b大于:a>b大于或等于:a>=b这些条件可以以多种方式使用,最常见的是在"if语句"和循环中使用。if语句是使用if关键字编写的。示例,if语句:a=33b=200ifb>a:print("bisgreate......