python蓝桥3764-小桥的神秘礼物

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

其实这道题目通过传统的列表访问索引的方法也是可以达到题目的效果,但是第一次提交通过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:
        if q:
            print(q[0])
        else:
            print('qiao')
    elif op==4:
        print(len(q))

具体代码见上

这边说一些细节,例如elif不能改成if,这样做会导致有的数据判断不了,其次就是可以在用户输入的循环中直接去判断数据,只要逻辑合理即可

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值