【华为OD机试真题】不开心的小朋友- python

2023-11-18

题目描述

不开心的小朋友
输入一个数代表摇摇车的数量,在下一行输入一串数字,用空格隔开,每个数字代表不同的小朋友的编号,小朋友的编号不能重复,每个小朋友只有一个编号,小朋友排队坐摇摇车,如果小朋友离开之前没有摇摇车坐视为不开心的小朋友。(同现实场景,排队等待等不及就走了,故不开心)
例子1:
输入
1
1 2 1 2

输出
0

解释:一个摇摇车,1号小朋友进来坐摇摇车,2号过来发现没有空闲摇摇车,就等待,1号做完摇摇车离开,2号开始做摇摇车,没有不开心的小朋友,输出0

例子2:

输入
1
1 2 2 3 1 3

输出
1

解释:一个摇摇车,1号小朋友进来坐摇摇车,2号过来发现没有空闲摇摇车,就等待,2号没有等到摇摇车离开,视为不开心的小朋友,3号过来发现没有空闲摇摇车,就等待,1号做完摇摇车离开,3号开始做摇摇车,有一位不开心的小朋友,输出1

代码实现

def Palying(P,N):
    unhappy=0
    waiting=[]
    palying=[]
    for i in P:
        #如果当前序号属于正在玩的列表,则表示该玩家已离去
        if i in palying:
            palying.remove(i)  #移除该玩家
            if len(waiting)>0:  #并从waiting列表中移除一个新的序号,将其添加到正在玩的列表中(因列表为空,删除元素报错,所以增加判断。
                palying.append(waiting.pop(0))
        else:
            if N > len(palying):  #如果新的序号不属于玩家列表,则判断摇摇车数量是否大于玩家数量
                palying.append(i)  #是,则玩家列表加一个序号
            else:
                if i in waiting:
                    waiting.pop(waiting.index(i))#如果摇摇车已满员,则判断该玩家是否属于等待列表成员,是,则表示该玩家还未玩就离去,等待列表剔除该玩家,unhappy+1
                    unhappy+=1
                else:
                    waiting.append(i)
    return  unhappy

if __name__=='__main__':
    #获取摇摇车数量
    N=1
   #获取小朋友来去的次序
    P='1 2 3 4 1 5 4 2 3 5'.split(' ')
    #判断当前过山车使用情况
    unhappy=Palying(P,N)
    print(unhappy)

代码总结

此场景被分成了大体2个部分,paly和wait两种场景,咱们需要做的是分别对这两种场景进行元素的增减。类比等餐吃饭案例,购物案例(谁没买上)等等
考查点:列表增删的运用:
1.pop不能删除空表,否则报错;
2.pop可以指定索引删除。
3.可以通过列表的index方法取出该元素的下标,再通过pop(索引删除)。
4.要考虑清楚二者联系,什么时候该增,什么时候该删,不能忘移除某元素,也不能删错元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【华为OD机试真题】不开心的小朋友- python 的相关文章

  • 如何计算 pandas datetime 对象的均值和方差?

    如何计算 YYYY MM DD 形式的 python 日期时间对象的汇总统计数据 均值和标准差 我想对具有不同 ID 的不同日期时间对象组执行此操作 数据如下 import datetime as dt df pd DataFrame Da
  • 如何传递架构以从现有数据帧创建新数据帧?

    要将 schema 传递到 json 文件 我们这样做 from pyspark sql types import StructField StringType StructType IntegerType data schema Stru
  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

    这个问题更具概念性 理论性 与非常大的数据集的运行时间有关 所以我很抱歉没有一个最小的例子来展示 我有一堆来自两个不同传感器的数据帧 我需要最终将它们连接成两个very来自两个不同传感器的大数据帧 df snsr1 and df snsr2
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

    我在模型中添加了 Meta 类并同步了数据库 然后在 shell 中创建了一个对象 它返回 false 所以我真的无法理解错误在哪里或者缺少什么是否在其他文件中可能存在某种配置 class Employer User Employer in
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • 【软件测试】linux命令-引用符号(反斜杠\、单引号‘‘、双引号““)

    引用符号在解析器中保护特殊元字符和参数扩展 其使用方法有3种 反斜杠 单引号 双引号 单引号和双引号必须匹配使用 均可在解析器中保护特殊元字符和通配符 但是单引号 硬转义 主要用于信息的原样输出 防止任何变量的扩展 双引号 软转义 允许变量
  • 【java】Spring 自己模拟 Spring 实现 IOC依赖注入 并且 解决 循环依赖

    文章目录 1 概述 2 循环依赖演示 3 循环依赖初步解决 4 模拟三级缓存 1 概述 首先参考文章 Spring 自己实现一个简单的 Spring IOC 自己实现简单的 Spring 在这篇文章中 我们实现了一个如何加载一个类 但是这个
  • Springboot继承Keycloak实现单点登陆与退出

    由于网上博客大部分都只有登陆没有退出 自己花了一些时间研究了一下 这里将相关内容进行记录 基于Keyclaok 20的版本 实现springboot服务单点登录与退出 一 依赖
  • 找不到包 com.mapbar.android.location

    从 Android API 的下载链接下载示例和LIB 打开后发现确实一个 location 包啊 导致工程无法通过 请问能否提供 谢谢 import com mapbar android location CellLocationProv
  • Matplotlib,控制x,y轴坐标标记步长

    Code Example import matplotlib pyplot as plt xs 0 5 9 10 15 ys 0 1 2 3 4 plt plot xs ys plt xticks x for x in range max
  • S50(Mifare 1K)卡简介及存储控制原理

    一 主要指标以及存储结构 1 S50卡共有16个扇区 每个扇区分为4块 每块16个字节 块0 块1 块2为数据块 块3为控制块 按绝对地址编号为0 63 存储结构如图一所示 图一 S50卡存储结构 2 第0扇区的块0 即绝对地址0 用于存放
  • UI自动化测试潮流代表工具—testsigma CI/CD

    Step1 创建测试计划 Step2 添加测试机器和测试套件 Step3 进入CI CD integrations Step4 复制测试计划API Step5 命令行执行测试计划API Step6 点击View Report Step7 验
  • unity暂停和继续按钮

    Unity暂停和继续菜单 目的 在一个游戏场景里设置暂停 并且在暂停后 可选择回到游戏 重新开始的功能效果 添加各种控件 新建一个空对象GameObject 将它命名为 ButtonPauseMenu 放在Canves下 用来放所有暂停功能
  • @Configuration和@Bean

    spring Boot提倡约定优于配置 如何将类的生命周期交给spring 1 第一种自己写的类 Controller Service 用 controller service即可 2 第二种 集成其它框架 比如集成shiro权限框架 集成
  • 堆排序(堆的构造及代码实现)

    简介 java系列技术分享 持续更新中 初衷 一起学习 一起进步 坚持不懈 如果文章内容有误与您的想法不一致 欢迎大家在评论区指正 希望这篇文章对你有所帮助 欢迎点赞 收藏 留言 更多文章请点击 文章目录 一 堆的简介 二 堆的实现 2 1
  • golang 接口和方法探讨

    一 方法简介 方法 Go语言里有两种类型的接收者 值接收者和指针接收者 使用值类型接收者定义的方法 在调用的时候 使用的其实是值接收者的一个副本 所以对该值的任何操作 不会影响原来的类型变量 如果我们使用一个指针作为接收者 那么就会其作用了
  • vue-element-admin基本使用

    vue element admin 是开发后台管理系统的一个比较完备的前端解决方案 本地运行体验 git clone https github com panjiachen vue element admin git 从github上拉取代
  • Axure 9.0.0.3699 授权码

    产品经理主力工具 Axure 在2020年5月26日更新了最新的 3699版本 具体更新如下 很多小伙伴在更新后会出现之前的授权无法使用的情况 如果出现这种情况大家可以通过在产品栈查找相对应的版本进行获取最新的授权码 获取地址 https
  • Vue项目中使用@代替src——并在VScode中开启@路径自动提示

    这篇文章是为了记录一下项目里面经常使用的一个配置 路径别名 我自己个取的名 一般的 路径别名 src components src components 以上的路径别名的好处就是 当项目文件较多的时候 可以避免 这样的一层一层的回溯路径 当
  • findbugs使用_程序员技能与成长:使用静态代码分析工具和代码审查

    使用静态代码分析工具 前面的小节介绍了一些编码规范及最佳实践 如果在编码阶段可以很好地遵循这些规范 并践行最佳实践的话 就可以大大提升代码的质量 提高可读性 降低维护成本等 在很多公司内部及开发团队中 为了保证大家都遵循这些规范 都会有静态
  • SD卡容量变小后怎么恢复

    我是因为给linux板子刷系统 所以导致SD卡内存从16G变成了40MB 恢复方法 1 win r 启动命令行 2 输入diskpart回车 运行DISKPART 3 list disk回车 列出电脑的硬盘清单 4 看看你的u盘是哪一个 选
  • 【数据结构 002】 算法复杂度

    1 算法定义 Algorithm Defintion 2 算法特性 Algorithm Feature 输入 有0个或者多个输入 输出 至少1个或者多个输出 有穷性 算法在执行有限的步骤之后 会自动结束而不会出现无限循环 并且每个步骤都在可
  • 阿里资深架构师三年整理出:Java面试核心知识点原理篇文档

    本文是对Java程序员面试必备知识点的总结 详细讲解了JVM原理 多线程 数据结构和算法 分布式缓存 设计模式等内容 希望读者能通过阅读本书对Java的基础原理有更深入 全面的理解 面试官通常会在短短两小时内对面试者的知识结构进行全面了解
  • win电脑C/D盘清理技巧

    dir AD 查看当前路径下的所有文件夹 1 下载 和安装 磁盘文件占用空间分析工具TreeSize Free 可以查看某个目录下的每个文件 文件夹占用的磁盘空间大小 大文件夹使用win自带 的右键属性查看大小会耗时很久 2 把自己安装在C
  • 【华为OD机试真题】不开心的小朋友- python

    题目描述 不开心的小朋友 输入一个数代表摇摇车的数量 在下一行输入一串数字 用空格隔开 每个数字代表不同的小朋友的编号 小朋友的编号不能重复 每个小朋友只有一个编号 小朋友排队坐摇摇车 如果小朋友离开之前没有摇摇车坐视为不开心的小朋友 同现