试题 算法提高 队列操作(Python)

试题 算法提高 智能体系列赛(python,dfs) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   zsyzgu是一个弱菜,尽管如此他还是参加了智能体系列赛。智能体系列赛的问题经简化后是这样的,有一只猴子和一些矿点,知道他们在平面上的坐标,这只猴子要经过这些矿点至少一次。假设这只猴子从点A走到点B所要花费的步数是这两个点的曼哈顿距离(即|A.x-B.x|+|A.y-B.y|),问这只猴子经过这些矿点至少一次所需的最少步数。   系列赛中的许多选手都用了贪心的策略,即每次都到最近的没经过的矿点去。但zsyzgu的思路是搜索,这也. 阅读详情

思路:先创建一个队列的类,然后将每次输入的指令执行对应的输出存在一个新的列表中,最后顺序打印出来即可,详看代码。

资源限制
时间限制:1.0s   内存限制:256.0MB
问题描述
  队列操作题。根据输入的操作命令,操作队列(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。
输入格式
  第一行一个数字N。
  下面N行,每行第一个数字为操作命令(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。
输出格式
  若干行每行显示一个2或3命令的输出结果。注意:2.出队命令可能会出现空队出队(下溢),请输出“no”,并退出。
样例输入
7
1 19
1 56
2
3
2
3
2
样例输出
19
1
56
0
no
数据规模和约定
  1<=N<=50

代码:

class Queue:
    def __init__(self):
        self.queue = []
    
    def enqueue(self,x): # 入队
        self.queue.insert(0,x)
    
    def dequeue(self):  # 出队
        if len(self.queue) == 0:
            return 'no'
        a = self.queue.pop()
        return a

    def size(self): # 队列的大小
        return len(self.queue)

def fun(a,s,count=0):
    '''
    count 的作用是用来记录入队和出队的次数,一旦count小于0,说明此时应该跳出循环
    '''
    if a[0] == 1:
        queue.enqueue(a[1])
        count += 1
    elif a[0] == 2:
        s.append(queue.dequeue())
        count -= 1
    elif a[0] == 3:
        s.append(queue.size())
    return s,count

if __name__ == "__main__":
    queue = Queue() # 队列
    n = int(input()) 
    if 1<=n<=50:
        s = []
        count = 0
        while n > 0:
            a = list(map(int,input().split()))
            s,count = fun(a,s,count)
            if count < 0:
                break
            n -= 1
        for i in s:
            print(i)
算法笔试题:(Python实现)------ 算法面试题汇总 算法笔试题:(Python实现)------ 算法面试题汇总算法笔试题:(Python实现)------ 算法面试题汇总开始之前Python实现只出现一次的数字多数元素搜索二维矩阵 II合并两个有序数组鸡蛋掉落 算法笔试题:(Python实现)------ 算法面试题汇总 开始之前 Python实现 只出现一次的数字 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于... 阅读详情

相关推荐

力扣高频|算法面试题汇总(四):堆、栈与队列

力扣高频|算法面试题汇总(四):堆、栈与队列 力扣链接 目录: 1.最小栈 2.数组中的第K个最大元素 3.数据流的中位数 1.最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 示例: ...

qq_24739717的博客 1469

算法提高 队列操作

/*问题描述 ?队列操作题。根据输入的操作命令,操作队列(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。 输入格式 第一行一个数字N。 下面N行,每行第一个数字为操作命令(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。 输出格式 若干行每行显示一个2或3命令的输出结果。注意:2.出队命令可能会出现空队出队(下溢),请输出“no”,并退出。 样例输入 7 1 19 1 56 ...

qq_41353167的博客 320

python【力扣LeetCode算法题库】面试题59 - II- 队列的最大值

面试题59 - II. 队列的最大值 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 示例 1: 输入: [“MaxQueue”,“push_back”,“push_back”,“max_value”,“pop...

NJU phd 在读。 633

2.5 【队列操作】根据输入的操作命令,操作队列:1入队、2出队并输出、3计算队中元素个数并输出。1<N <50

文章目录题目描述输入描述输出描述输入输出样例最终代码1. c/c++2. java3. python过程理解 题目描述 根据输入的操作命令,操作队列: 1入队 2出队并输出 3计算队中元素个数并输出。1<N <50 输入描述 第一行一个数字N。 接下来N行,每行第一个数字为操作命令:1入队、2出队并输出、3计算队中元素个数并输出。 输出描述 若干行每行显示一个2或3命令的输出结果。注意:2.出队命令可能会出现队出队(下溢),请输出"no",并退出。 输入输出样例 输入: 7 1 19

你说的白是什么白_ 3629

告别第三方工具!用Windows自带蓝牙玩转BLE设备调试(保姆级图文教程)

本文详细介绍了如何利用Windows自带的蓝牙功能进行BLE设备调试,无需第三方工具。从硬件准备、系统配置到实战操作,提供保姆级图文教程,帮助开发者高效完成设备发现、数据交互等全流程调试工作。特别适合物联网开发者和智能硬件爱好者。

o5p6q的博客 734

三甲医院网络架构与安全建设实战

华为OceanStor] [华为OceanStor][PACS存储双活] [HIS数据库同步]患者隐私 数据脱敏 天清Web防火墙动态脱敏策略。主数据中心 --[OTV专线]-- 备数据中心。实现医疗业务网/卫生专网/互联网三网隔离。核心业务配置(华为CE6865)自动备份配置(每天02:00)安全事件响应(30分钟SLA)漏洞扫描(每周日00:00)实现医疗物联网统一接入管控。五、等保2.0合规关键配置。堡垒机登录(双因素认证)四、医疗物联网安全方案。

有小小的远大抱负 1911

Python:每日一题之队列操作(queue、list、deque)

接下来 N 行,每行第一个数字为操作命令:1入队、2 出队并输出、3 计算队中元素个数并输出。2.出队命令可能会出现空队出队(下溢),请输出“no”,并退出。poplift:出队,从队头删除一个元素并返回该元素。appendleft:入队,从队列左端(队头)插入。pop:出队,从队尾删除一个元素并返回该元素。append:入队,从队列右端(队尾)插入。q.get(),从队头删除,并返回。q.empty(),队列是否为空。q.append(),从队尾插入。q.put (),从队尾插入。len(q)队列大小。

qq_65144447的博客 1448

ANSYS Products19.1下载及安装教程

ANSYS Products19.1下载及安装破解教程 前言 ANSYS软件是美国ANSYS公司研制的大型通用有限元分析(FEA)软件,是世界范围内增长最快的计算机辅助工程(CAE)软件,能与多数计算机辅助设计(CAD,computer Aided design)软件接口,实现数据的共享和交换,如Creo, NASTRAN、Algor、I-DEAS、AutoCAD等。ansys project包括一整套的软件集合,它耦合了CFD模型的前处理,求解器和后处理所需要的相关软件,特比是它的workbench模块,

Mekeater的博客 2万+

7-8 队列操作分数 10

根据输入的操作命令,操作队列:1 入队、2 出队并输出、3 计算队中元素个数并输出。1≤N≤50。

lemmod的博客 612

在 Linux 虚拟机中手动安装 VMware Tools

对于 Linux 虚拟机,您可以从命令行手动安装 VMware Tools。对于 Linux 的较高发行版,请使用集成的 open-vm-tools 版本。 前提条件 有关 open-vm-tools 的操作系统兼容性的详细信息,请参见《VMware 兼容性指南》,网址为VMware Compatibility Guide - System Search。 开启虚拟机。 确认客户机操作系统正在运行。 因为 VMware Tools 安装程序是使用 Perl 编写的,请确认已在客户机操作系统中安..

m0_62526815的博客 1757

Python爬虫实战:5分钟搞定东方财富A股数据抓取(附完整代码)

本文提供了一套基于Python的A股数据自动化采集与分析系统构建方案。文章详细解析了如何通过稳健的爬虫框架从东方财富等公开数据源高效抓取A股数据,并设计数据库进行自动化存储与管理,特别适合量化研究和数据分析场景。

weixin_29062963的博客 4437

【Python 数据结构 7.栈和队列】

所谓用队列实现栈,就是要求实现一个栈,只不过这个栈的底层容器,不是顺序表,也不是链表,而是队列。所谓用栈实现队列,就是要求实现一个队列,只不过这个队列的底层容器,不是顺序表,也不是链表,而是栈。:类似出栈操作,但需将最后一个元素重新压回队列(时间复杂度O(n))。:单次出栈/查看栈顶操作最坏O(n),但均摊后仍可视为O(1)栈顶元素(即队列头部元素),均摊时间复杂度 O(1)的元素个数是否大于 1,如果大于 1,则将。的元素个数是否大于 1,如果大于 1,则将。为空,则返回true,否则返回false。

m0_73983707的博客 1338

ollama使用CPU安装qwen-coder模型_并在eclipse中使用ai coder插件_配置本地qwen-coder模型_ollama常用操作记录---AI大模型应用探索0002

文章摘要:作者分享了在Windows 10上安装和使用Ollama模型的过程。尝试了不同规模的qwen-coder模型(7b、1.5b和0.5b),发现7b模型响应极慢(需35分钟),而1.5b模型表现较好(3秒响应)。最终选择1.5b版本用于代码开发辅助,支持多语言自动补全。同时提到在最新版Eclipse中的AIcoder配置问题。文章重点比较了不同模型规模在CPU环境下的实际使用体验和响应速度差异。

添柴程序猿的专栏 684

蓝桥杯练习系统 算法提高 队列操作

试题 算法提高 队列操作 Ideas 这题没什么技巧吧,用数组来模拟队列操作,按照指令来就可以了,帮助回忆一下队列的一些操作。 Code Python def solve(): queue = list() n = int(input()) for _ in range(n): string = input() if string[0] == '1': # 入队操作 queue.append(string.split(' ')[1]) elif string[0] == '2':

Alex 503

MFC实现简单UDP通信(附完整源码)

MFC实现简单UDP通信(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1112

单片机设计具备断电记忆功能的计时器

本文介绍了如何设计一款具备断电记忆功能的计时器,利用单片机和EEPROM存储器实现了计时器值的保存和恢复。当然,在实际的设计中还需要考虑其他因素,如电源管理、时钟精度等,以确保计时器的正常运行和准确性。选择合适的单片机:在设计计时器时,我们需要选择一款具备存储功能的单片机,以便在断电后能够保存计时器的状态。可以优化显示方式,使用更加直观的界面来展示计时器的值;函数中,我们首先从 EEPROM 中读取计时器的初始值,然后在一个无限循环中每秒钟增加计时器的值,并将新的值写入 EEPROM 中。

RlDart的博客 1094

力扣 算法面试题汇总 Python

近期在刷力扣官网的这份题,因为我是因为报名了蓝桥杯才刷算法题的,所以我会选择性地写一些题解 (不包括太简单的、太难的、不在我考试范围的) 以下都是我觉得比较有思考价值的题 热身: 1. 只出现一次的数字 读题之后可以找到两个重点:只有一个元素只出现了一次、其余每个元素均出现两次 “相同为0,相异为1”,马上想到异或运算。所有元素都异或在一起,最终的数值就是只出现一次的元素 class Solution(object): def singleNumber(self, n.

荷碧TongZJ 的水文 5388

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Python 优先队列

在Python中,优先队列(Priority Queue)是一种特殊的队列,其中每个元素都有一个优先级。在优先队列中,元素被按照它们的优先级顺序进行出队操作。默认情况下,元素的优先级是根据它们被添加到队列中的顺序来确定的,但你也可以提供一个比较函数来指定元素之间的优先级关系。Python的`heapq`模块提供了优先队列的实现。这个模块使用堆(一种特殊的完全二叉树)来实现优先队列,因此它也被称为堆队列。在`heapq`模块中,最小的元素具有最高的优先级。### 使用`heapq`模块创建优先队列 ### 自

m0_59235508的博客 2504

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

华为机试题python版_200 道算法面试题集锦!Python 实现,含华为、BAT 等校招真题!...

200 道算法面试题集锦!Python 实现,含华为、BAT 等校招真题!点击上方“AI有道”,选择“置顶”公众号重磅干货,第一时间送达春招临近,无论是要找工作的准毕业生,还是身在职场想要提升自己的程序员,提升自己的算法内功心法、提升Python编程能力,总是大有裨益的。今天,红色石头发现了一份好资源:Python实现的面试题集锦!这份资源名为:Interview-code-practice...

weixin_39574050的博客 2083

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

蓝桥杯试题及答案分享(Python版)

蓝桥杯比赛介绍,Python组竞赛,试题分析与代码解读

计算机视觉方面的点点滴滴,欢迎一起讨论 2万+

Python经典面试题

好的,以下是一些常见的 Python OJ(Online Judge)形式面试题,这些题目通常考察数据结构、算法和基本的编程能力。在每次循环中,记录当前队列的长度,然后处理当前层的所有节点,并将它们的子节点入队。从下标 0 开始,判断每一个位置的所有字符串是否相同,如果相同,则继续判断下一个位置,直到遇到不相同的位置。遍历字符串,遇到左括号则入栈,遇到右括号则检查栈顶元素是否是对应的左括号,如果是则出栈,否则返回。遍历数组,记录当前遇到的最小值,并计算以当前价格卖出股票的利润,更新最大利润。

远方雪的专栏 1173

Python常见面试题50道

希望这些问题对您有所帮助!如果您有任何其他问题,请随时提出。

远方雪的专栏 874

剑指offer 第二版(Python3)--面试题9:用两个栈实现队列,用两个队列实现栈

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 用两个队列实现一个栈

鲁班七号 441

python常见算法面试题

def num(): return [lambda x: i*x for i in range(4)] # 这里使用的是lambda函数 print([m(2) for m in num()]) # 输出: [6, 6, 6, 6] 这题涉及到了闭包延时绑定,当循环执行完了之后才会执行传参,循环四次,每一次循环完 i=3 然后再和x相乘 所以结果是6,6,6,6。 如果把 [ lambda x: ix for i in range(4) ] 改成 ( lambda x: ix for

weixin_45499040的博客 1694

python面试题_200道Python算法面试题集锦!内含BAT、华为等大厂校招真题

春招临近,无论是要找工作的准毕业生,还是身在职场想要提升自己的程序员,提升自己的算法内功心法、提升 Python 编程能力,总是大有裨益的。今天,小编发现了一份好资源:Python 实现的面试题集锦!这份资源名为:Interview-code-practice-python!包含了几百道算法面试题,而且全都使用 Python 编写了答案。有问有答,学得岂不快哉~好了,话不多说,平台不能放链接,可以...

weixin_39781550的博客 425

Python面试题【数据结构和算法部分101-130】

通常通过填充一个表格来解决,并将子问题的解存储在表格中供后续引用,以避免重复计算。堆是一种特殊的完全二叉树。所有的父节点都大于或等于(最大堆)或小于或等于(最小堆)它们的子节点。广度优先搜索(BFS)是一种遍历或搜索树或图的算法,它从根节点开始,逐层遍历所有节点,每次遍历同一层的所有节点。栈是一种后进先出(LIFO)的数据结构,而队列是一种先进先出(FIFO)的数据结构。双端队列(deque)是一种具有队列和栈的性质的数据结构。是一个双端队列的实现,允许我们从前面或后面添加或删除元素。

今晚打老虎的专栏 1205
上一篇: 试题 算法提高 字符串匹配
下一篇: 试题 算法提高 第二大整数
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值