华为OD机试 - 模拟消息队列(Python)

2023-11-02

题目描述

让我们来模拟一个消息队列的运作,有一个发布者和若干消费者,发布者会在给定的时刻向消息队列发送消息,

  • 若此时消息队列有消费者订阅,这个消息会被发送到订阅的消费者中优先级最高(输入中消费者按优先级升序排列)的一个;
  • 若此时没有订阅的消费者,该消息被消息队列丢弃。

消费者则会在给定的时刻订阅消息队列或取消订阅。

  • 当消息发送和订阅发生在同一时刻时,先处理订阅操作,即同一时刻订阅的消费者成为消息发送的候选。
  • 当消息发送和取消订阅发生在同一时刻时,先处理取消订阅操作,即消息不会被发送到同一时刻取消订阅的消费者。

输入描述

输入为两行。

第一行为2N个正整数,代表发布者发送的N个消息的时刻和内容(为方便解折,消息内容也用正整数表示)。第一个数字是第一个消息的发送时刻,第二个数字是第一个消息的内容,以此类推。用例保证发送时刻不会重复,但注意消息并没有按照发送时刻排列。

第二行为2M个正整数,代表M个消费者订阅和取消订阅的时刻。第一个数字是第一个消费者订阅的时刻,第二个数字是第一个消费者取消订阅的时刻,以此类推。用例保证每个消费者的取消订阅时刻大于订阅时刻,消费者按优先级升序排列。

两行的数字都由空格分隔。N不超过100,M不超过10,每行的长度不超过1000字符。

输出描述

输出为M行,依次为M个消费者收到的消息内容,

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

华为OD机试 - 模拟消息队列(Python) 的相关文章

随机推荐

  • Java 删除链表中的节点

    删除链表中的节点 中等 有一个单链表的 head 我们想删除它其中的一个节点 node 给你一个需要删除的节点 node 你将 无法访问 第一个节点 head 链表的所有值都是 唯一的 并且保证给定的节点 node 不是链表中的最后一个节点
  • 二分查找--图文详解

    二分查找 1 什么是二分查找 2 原理 3 例子 3 1 当数组长度为奇数 3 1 当数组长度为偶数 3 3 实现过程 4 顺序查找与二分查找的区别 结束语 1 什么是二分查找 二分查找也称折半查找 是在一组有序 升序 降序 的数据中查找一
  • 刷题之旅第33站,CTFshow web12

    感谢ctf show平台提供题目 F12查看一下源代码 得到了提示 既然提示了cmd 那么可能后端代码中存在 eval 或者exec 等可以执行命令的代码 尝试提交 我们看到了php的配置信息 cmd phpinfo 使用glob通配符命令
  • C++笔记三(封装、静态、const、友元)

    1 C 面向对象特性 1 1C 面向对象的三大特性为 封装 继承 多态 万物皆对象 2 封装 2 1 封装的意义 其一 将属性和行为作为一个整体 表现生活中的事物 创建类别忘了 后有个 其实可以理解为类与结构体类似 类中的属性与行为统一称为
  • condition_variable用法

    参考文章 https blog csdn net princeteng article details 103945610添加链接描述 condition variable con 有两种用法 用法一 con wait lck return
  • UMC云管理平台下ESB产品升级说明

    随着近些年各种层出不穷的技术以及企业核心需求的推动 IT行业的发展势必会倒逼公司旗下产品的升级迭代 同时在产品由旧变新的升级过程中也有很多注意要点 由于公司产品大多以整合方案的形式部署到环境上 所以升级部署是否可快速简便尤为重要 产品升级对
  • 基于redis分布式锁解决定时任务重复问题

    在看代码之前请先看优化篇 基于Redis的Setnx实现分布式锁 p f 的博客 CSDN博客 1 在启动了上加 EnableScheduling 注解 SpringBootApplication MapperScan com xpf di
  • 华为OD机试 - 字符串分割(Java )

    题目描述 给定非空字符串s 将该字符串分割成一些子串 使每个子串的ASCII码值的和均为水仙花数 1 若分割不成功 则返回0 2 若分割成功且分割结果不唯一 则返回 1 3 若分割成功且分割结果唯一 则返回分割后子串的数目 输入描述 输入字
  • 运算放大器的选择---相关参数

    1 供电电压Vs 有单电源电压 双电源电压 双电源电压尽量两个电源都接 2 输入电压范围和输出电压范围 输入电压接近供电电压时 就称为输入电压轨到轨 如图8 LM358输入电压能达到负电源轨 不能达到正电源轨 输出电压非轨到轨 3 输入偏置
  • 的技术难点_推铅球技术教学的重点与难点

    一 推铅球的技术特点 推铅球技术的变革 无论从侧向到背向 还是从背向到旋转 不外乎有以下几个趋势 一是尽量加长铅球在手中运行的距离 使铅球预先获得较大的初速度 二是尽量加长最后用力的工作距离 三是能使更多的肌肉群参与推铅球的最后用力 并为这
  • Gradle 奇技淫巧

    http blog chengyunfeng com p 833 Gradle 奇技淫巧 作者 rain 分类 奇技淫巧 移动 发布时间 2015 12 31 19 42 6 0条评论 Gradle 现在已经是 Android 开发必备的建
  • Java内存泄漏的排查总结

    一 内存溢出和内存泄露 一种通俗的说法 1 内存溢出 你申请了10个字节的空间 但是你在这个空间写入11或以上字节的数据 出现溢出 2 内存泄漏 你用new申请了一块内存 后来很长时间都不再使用了 按理应该释放 但是因为一直被某个或某些实例
  • Syntax Error while loading YAML.   did not find expected '-' indicator

    运行剧本出错 ERROR Syntax Error while loading YAML did not find expected indicator The error appears to have been in etc ansib
  • C语言-哈希查找(HASH)-详解(完整代码)

    目录 原理 实例解释 存储逻辑图 需要的知识 附加 完整代码 代码详解 执行结果 1 查找个不存在的 2 查找个存在的 原理 用一个指针数组 来存储 每个链表的头节点 的首地址 如果要从 NUM 个数中查找数据 先对 NUM 0 75 求得
  • 【c++primer第五版】第十一章习题答案

    第十一章 关联容器 练习11 1 描述map和vector的不同 解 顺序容器中的元素是 顺序 存储的 对于vector 元素在其中按顺序存储 每个元素都有唯一对应 的位置编号 所有操作都是按编号进行的 例如 获取元素 头 尾 下标 插入删
  • 继承QDialog的类弹框不阻塞

    继承QDialog的类 如myDialog 在myDialog构造函数设置模态如下 this gt setWindowModality Qt ApplicationModal 使用如下 myDialog pMyDlg new myDialo
  • MariaDB(mysql的替代品)

    原文地址 http www csdn net article 2013 04 25 2815043 lookout oracle they tem up Oracle于09年收购了Sun 其中必不可少的原因就是获得MySQL这个最热门开源D
  • 【计算机网络系列】网络层⑩:路由选择协议——外部网关协议BGP

    外部网关协议BGP 协议BGP的主要特点 在外部网关协议 或边界网关协议 BGP中 现在使用的是第4个版本BGP 4 常简写为BGP 协议BGP对互联网非常重要 前面介绍的路由选择协议RIP和OSPF 都只能在一个自治系统AS内部工作 因此
  • leetcode刷题:三数之和

    题目 分析 这是最容易想到的做法 但是有明显的问题 时间复杂度达到0 n3 并且没有去重 class Solution public vector
  • 华为OD机试 - 模拟消息队列(Python)

    题目描述 让我们来模拟一个消息队列的运作 有一个发布者和若干消费者 发布者会在给定的时刻向消息队列发送消息 若此时消息队列有消费者订阅 这个消息会被发送到订阅的消费者中优先级最高 输入中消费者按优先级升序排列 的一个 若此时没有订阅的消费者