温馨提示:请看文章者具备一定的编程能力,不然看起来会比较吃力。

其实这道题目通过传统的列表访问索引的方法也是可以达到题目的效果,但是第一次提交通过0%,我个人推测可能是两个原因过不去
1、时间复杂度太高,因为这题涉及到添加删除等操作,列表很耗空间复杂度为o(n)而队列只要o(1)
2、这个是个官方题,可能不导入队列库不让通过

先看题目,其实就是在队列中做四个判断,分别是A(入队),B(出队),C(查看第一个数),D(打印当前队列长度)
主要还是注意题目给的要求,判断B和C之前还要看一些队列是否为空,如果为空打印相应得值
from collections import deque
q=deque()
n=int(input())
for _ in range(n):
op,*value=map(int,input().split()) #*用于接收多个值
if op==1:
q.append(value[0])
elif op==2:
if q: #如果不为空(类似于if q=True 也就是队列中有值)
q.popleft()
else:
print('lan')
elif op==3:

文章讲述了如何使用Python的deque模块高效地实现队列操作,强调了时间复杂度和队列空判断的重要性,并提醒读者在处理题目时注意代码细节和输入判断。
最低0.47元/天 解锁文章
1025





