当前位置:网站首页>LeetCode:622. 设计循环队列【模拟循环队列】
LeetCode:622. 设计循环队列【模拟循环队列】
2022-08-02 19:22:00 【星空皓月】
题目描述
思路
模拟循环队列即可,具体看代码注释
AC代码
class MyCircularQueue:
q = [0]
num = 0 # 当前队列元素个数
st = 0 # 队头, 队尾st + num - 1
len = 0 # 队列总大小
# 初始化循环队列大小
def __init__(self, k: int):
self.len = k
self.q = [0] * k # 初始化数组
# 入队
def enQueue(self, value: int) -> bool:
if self.isFull(): # 队满
return False
self.num += 1 # 队列元素个数+1
self.q[(self.st + self.num - 1) % self.len] = value # 将元素加入到队尾
return True
# 出队
def deQueue(self) -> bool:
if self.isEmpty(): # 队空
return False
self.num -= 1 # 队列元素个数-1
self.st = (self.st + 1) % self.len # 删除队首元素
return True
# 返回队首元素
def Front(self) -> int:
if self.isEmpty():
return -1
return self.q[self.st]
# 返回队尾元素
def Rear(self) -> int:
if self.isEmpty():
return -1
return self.q[(self.st + self.num - 1) % self.len]
# 判断队列是否为空
def isEmpty(self) -> bool:
if self.num == 0:
return True
return False
# 判断是否队满
def isFull(self) -> bool:
if self.num == self.len:
return True
return False
# Your MyCircularQueue object will be instantiated and called as such:
# obj = MyCircularQueue(k)
# param_1 = obj.enQueue(value)
# param_2 = obj.deQueue()
# param_3 = obj.Front()
# param_4 = obj.Rear()
# param_5 = obj.isEmpty()
# param_6 = obj.isFull()
边栏推荐
猜你喜欢
简单有效又有用的关闭antimalware service executable的方法·备份记录
Redis 5 种数据结构及对应使用场景
服务器Centos7 静默安装Oracle Database 12.2
ShardingSphere-proxy +PostgreSQL实现读写分离(静态策略)
Go----Go 语言快速体验之开发环境搭建及第一个项目HelloWord
Metaverse 001 | Can't control your emotions?The Metaverse is here to help you
当TIME_WAIT状态的TCP正常挥手,收到SYN后…
Redis集群配置
音频隐写一
【心理学 · 人物】第一期
随机推荐
NC | 土壤微生物组的结构和功能揭示全球湿地N2O释放
7.24 - 每日一题 - 408
基于OpenGL的冰川与火鸟(光照计算模型、视景体、粒子系统)
看完这篇,轻松get限流!
openlayers版本更新差别
ssh配置
分布式事务
流量分析四—蓝牙
当TIME_WAIT状态的TCP正常挥手,收到SYN后…
线性表(顺序表和链表)
MOSN 反向通道详解
【LeetCode】118. 杨辉三角 - Go 语言题解
一款好用的FAQ搭建工具
MySQL安装时一直卡在starting server
深度学习-学习笔记(持续更新)
技术分享 | Apache Linkis 快速集成网页IDE工具 Scriptis
JVM内存和垃圾回收-05.虚拟机栈
汇编实例解析--利用tcb,tss,全局tss,ldt管理任务实现任务切换
什么是现场服务管理系统(FSM)?有什么好处?
Mppt photovoltaic maximum power point tracking control matlab simulation