首页 > 编程语言 >10天【代码随想录算法训练营34期】 第五章 栈与队列part01(● 232.用栈实现队列 ● 225. 用队列实现栈)

10天【代码随想录算法训练营34期】 第五章 栈与队列part01(● 232.用栈实现队列 ● 225. 用队列实现栈)

时间:2024-03-29 10:34:41浏览次数:32  
标签:10 return 队列 self 随想录 out stack def size

232.用栈实现队列

class MyQueue:

    def __init__(self):
        self.queue = []
        self.size = 0

    def push(self, x: int) -> None:
        self.queue.append(x)
        self.size += 1

    def pop(self) -> int:
        self.size -= 1
        return self.queue.pop(0)

    def peek(self) -> int:
        if self.size != 0:
            return self.queue[0]
        else:
            return None

    def empty(self) -> bool:
        if self.size == 0:
            return True
        else:
            return False

225. 用队列实现栈

class MyStack:

    def __init__(self):
        self.stack_in = []
        self.stack_out = []
        self.size = 0

    def push(self, x: int) -> None:
        if self.stack_out:
            temp = self.stack_out.pop()
            self.stack_in.append(temp)
        self.stack_in.append(x)
        self.size += 1

    def pop(self) -> int:
        if self.stack_out:
            self.size -= 1
            return self.stack_out.pop(-1)
        elif self.stack_in:
            self.size -= 1
            return self.stack_in.pop(-1)

    def top(self) -> int:
        if self.stack_out:
            return self.stack_out[-1]
        else:
            temp = self.stack_in.pop(-1)
            self.stack_out.append(temp)
            return temp

    def empty(self) -> bool:
        if self.size == 0:
            return True
        else:
            return False

标签:10,return,队列,self,随想录,out,stack,def,size
From: https://www.cnblogs.com/miramira/p/18103259

相关文章

  • Windows10 安装Docker及自定义安装路径
    本文主要介绍了Windows平台下Docker的安装过程,包括安装包下载、自定义安装路径、安装过程、安装后配置和运行验证。一、前提条件,windows10内部版本要升级到19044以上。可以在官网下载升级工具:下载Windows10二、打开控制面板,参照下图打开“启动或关闭windows功能”,Hyper-V......
  • stm32f103c8t6学习笔记(学习B站up江科大自化协)-DMA
    DMA简介    ·DMA主要用于协助CPU完成数据转运的工作    ·DMA,英文全称DirectMemoryAccess,DMA这个外设是可以直接访问STM32内部存储器的,包括运行内存SRAM,程序存储器flash和寄存器等等,DMA都有权限访问,所以DMA能完成数据转运的工作    ·第二行的外......
  • 如何合理利用chatgpt写中文论文,10分钟速成(二)
    演示站点: https://www.cnsai.net/ 论文模块官方论坛: www.jingyuai.com 京娱AI一,编写提纲编写提纲能使作者树立全局观念,从整体出发,明确写作的先后顺序和重点。编写提纲是在写作之前对文章的整体架构进行组织和概括,明确写作的内容以及主要方向。编写提纲需要注意以下几......
  • lanqiao106. 正则问题 (第八届蓝桥杯C++A组)或者 acwing 1225. 正则问题
    问题:知识补充:1. 正则表达式的计算①括号代表优先计算,②或符号代表二选一。比如给的例子:((xx|xxx)x|(x|xx))xx 2. 字符串的语法问题:string是字符串的类型,使用的时候也使像字符一样使用,加入定义stringstr,那么使用的时候要写成str[]思考:妈呀一开始我不会算正则表达......
  • 力扣HOT100热题宝典--第3节
    ......
  • 求 1 - 1/2 + 1/3 - 1/4 + 1/5 -... + 1/99 - 1/100
    通过分析,可以发现:分子不变分母++符号———》分母是偶数就为负,分母为奇数则为加号累加//1-1/2+1/3-1/4+...+1/99-1/100=?#include<stdio.h>intmain(){doublesum=1.0;for(inti=2;i<101;i++){//i即分母if(i%2==0){//......
  • ubuntu使用-ubuntu23.10安装qemu
    ubuntu使用-ubuntu23.10安装qemuubuntuqemu虚拟化在ubuntu23.10上安装qemu,希望后面可以创建一个arm的虚拟机。sudoaptinstallqemu-kvmlibvirt-daemon-systemlibvirt-clientsbridge-utilsvirtinstvirt-manager这就可以了。......
  • 力扣HOT100热题宝典--第1节
    ......
  • 面试官:如何实现10亿数据判重?
    当数据量比较大时,使用常规的方式来判重就不行了。例如,使用MySQL数据库判重,或使用List.contains()或Set.contains()判重就不可行,因为MySQL在数据量大时查询就会非常慢,而数据库又是及其珍贵的全局数据库资源。《阿里巴巴Java开发手册》上也说了,如果单表数据量超过5......
  • P6105 [Ynoi2010] y-fast trie
    [Ynoi2010]y-fasttrie-洛谷这道题让我学到了一些之前看过但没总结出来的\(trick\)显然加入集合中数要先取模对于\(x+y\geqC\)的部分,直接取最大和次大即可对于\(x+y<C\)的部分,我们先考虑暴力枚举\(x\),二分找到每一个\(y\)取最优即可若此题离线,考......