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

算法学习day16----Python数据结构--模拟队列

久违的更新,主包也是终于回到家里了

输入样例

10
push 6
empty
query
pop
empty
push 3
push 4
pop
query
push 6

输出样例

NO
6
YES
4

解决代码(今天没写笔记了,题目比较简单,可以仿写之前写过的模拟栈)

class Queue:def __init__(self):self.queue = []def push(self, x):self.queue.append(x)def pop(self):if not self.queue:return "queue is empty"return self.queue.pop(0) #头部弹出def query(self):if not self.queue:return "queue is empty"return self.queue[0]def is_empty(self):return "YES" if not self.queue else "NO"def main():import sysinput = sys.stdin.readline  m = int(input().strip())    queue = Queue()output = []for _ in range(m):          parts = input().split() if not parts:continue  # 跳过空行op = parts[0]if op == 'push':if len(parts) < 2:output.append("error: missing value")continuetry:x = int(parts[1])queue.push(x)except ValueError:output.append("error: invalid number")elif op == 'pop':res = queue.pop()if res == "queue is empty":output.append(res)#  pop 成功,不输出elif op == 'query':res = queue.query()output.append(str(res))elif op == 'empty':output.append(queue.is_empty())print('\n'.join(output))  # 统一输出结果if __name__ == "__main__":main()

算是一个回顾题吧

http://www.lryc.cn/news/589086.html

相关文章:

  • Nuxt3宝塔PM2管理器部署
  • linux系统------LVS+KeepAlived+Nginx高可用方案
  • LVS(Linux Virtual Server)详细笔记(理论篇)
  • 李宏毅《生成式人工智能导论》 | 第9讲 AI Agent
  • Jfinal+SQLite java工具类复制mysql表数据到 *.sqlite
  • 设计模式笔记_结构型_适配器模式
  • Redis 中的持久化机制:RDB 与 AOF
  • 基于STM32设计的智能厨房
  • redis快速入门教程
  • JavaScript进阶篇——第四章 解构赋值(完全版)
  • Bash shell用法
  • 轻松管理多个Go版本:g工具安装与使用
  • 【自学linux】计算机体系结构和操作系统第二章
  • OpenCV 伽马校正函数gammaCorrection()
  • PG备份一(逻辑备份)
  • 算法与前端的可访问性
  • Linux系统调优和工具
  • OpenCV-Python Tutorial : A Candy from Official Main Page(三)
  • 【Linux系统】命令行参数和环境变量
  • 涨停板池,跌停板池,炸板池,次新股池,强势股池数据接口
  • SSM框架学习DI入门——day2
  • Flutter瀑布流布局深度实践:打造高性能动态图片墙
  • 基于Ruoyi和PostgreSQL的统一POI分类后台管理实战
  • IPSec和HTTPS对比(一)
  • 前端学习笔记:React.js中state和props的区别和联系
  • 数字影像新风口 入驻国际数字影像产业园解锁151项全周期服务
  • 20.如何在 Python 字典中找到最小值或最大值的键?
  • 关于list
  • 使用 PowerMockito 模拟 new A() 行为
  • 文心一言开源版部署及多维度测评实例