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

这篇具有很好参考价值的文章主要介绍了华为OD机试 - 模拟消息队列(Java & JS & Python)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述

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

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

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

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

输入描述

输入为两行。

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

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

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

输出描述

输出为M行,依次为M个消费者收到的消息内容&#x文章来源地址https://www.toymoban.com/news/detail-529554.html

到了这里,关于华为OD机试 - 模拟消息队列(Java & JS & Python)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为OD机试 - 购物(Java & JS & Python)

    题目描述 商店里有N件唯一性商品,每件商品有一个价格,第 i 件商品的价格是 ai。 一个购买方案可以是从N件商品种选择任意件进行购买(至少一件),花费即价格之和。 现在你需要求出所有购买方案中花费前K小的方案,输出这些方案的花费。 当两个方案选择的商品集合至

    2024年02月12日
    浏览(36)
  • 华为OD机试 - 五子棋迷(Java & JS & Python)

    题目描述 张兵和王武是五子棋迷,工作之余经常切磋棋艺。这不,这会儿又下起来了。走了一会儿,轮张兵了,对着一条线思考起来了,这条线上的棋子分布如下: 用数组表示: -1 0 1 1 1 0 1 0 1 -1 棋了分布说明: -1代表白子,0代表空位,1 代表黑子 数组长度L,满足 1 L 40,L为奇

    2024年02月12日
    浏览(26)
  • 华为OD机试 - 周末爬山(Java & JS & Python)

    题目描述 周末小明准备去爬山锻炼,0代表平地,山的高度使用1到9来表示,小明每次爬山或下山高度只能相差k及k以内,每次只能上下左右一个方向上移动一格,小明从左上角(0,0)位置出发 输入描述 第一行输入m n k(空格分隔) 代表m*n的二维山地图,k为小明每次爬山或下山高度

    2024年02月13日
    浏览(41)
  • 华为OD机试 - 矩阵扩散(Java & JS & Python)

    题目描述 存在一个m×n的二维数组,其成员取值范围为0或1。 其中值为1的成员具备扩散性,每经过1S,将上下左右值为0的成员同化为1。 二维数组的成员初始值都为0,将第[i,j]和[k,l]两个个位置上元素修改成1后,求矩阵的所有元素变为1需要多长时间。 输入描述 输入数据中的

    2024年02月09日
    浏览(39)
  • 华为OD机试 - 数字游戏(Java & JS & Python)

    题目描述 小明玩一个游戏。 系统发1+n张牌,每张牌上有一个整数。 第一张给小明,后n张按照发牌顺序排成连续的一行。 需要小明判断,后n张牌中,是否存在连续的若干张牌,其和可以整除小明手中牌上的数字。 输入描述 输入数据有多组,每组输入数据有两行,输入到文

    2024年02月12日
    浏览(45)
  • 华为OD机试 - 查字典(Java & JS & Python)

    题目描述 输入一个单词前缀和一个字典,输出包含该前缀的单词 输入描述 单词前缀+字典长度+字典 字典是一个有序单词数组 输入输出都是小写 输出描述 所有包含该前缀的单词,多个单词换行输出 若没有则返回-1 用例 输入 b 3 a b c 输出 b 说明 无 输入 abc 4 a ab abc abcd 输出

    2024年02月11日
    浏览(28)
  • 华为OD机试 - 座位调整(Java & JS & Python)

    题目描述 疫情期间课堂的座位进行了特殊的调整,不能出现两个同学紧挨着,必须隔至少一个空位。 给你一个整数数组 desk 表示当前座位的占座情况,由若干 0 和 1 组成,其中 0 表示没有占位,1 表示占位。 在不改变原有座位秩序情况下,还能安排坐几个人? 输入描述 第

    2024年02月11日
    浏览(102)
  • 华为OD机试 - 书籍叠放(Java & JS & Python)

    题目描述 书籍的长、宽都是整数对应 (l,w)。如果书A的长宽度都比B长宽大时,则允许将B排列放在A上面。现在有一组规格的书籍,书籍叠放时要求书籍不能做旋转,请计算最多能有多少个规格书籍能叠放在一起。 输入描述 输入:books = [[20,16],[15,11],[10,10],[9,10]] 说明:总共4本书

    2024年02月11日
    浏览(37)
  • 华为OD机试 - 生日礼物(Java & JS & Python)

    题目描述 小牛的孩子生日快要到了,他打算给孩子买蛋糕和小礼物,蛋糕和小礼物各买一个,他的预算不超过x元。蛋糕cake和小礼物gift都有多种价位的可供选择。 请返回小牛共有多少种购买方案。 输入描述 第一行表示cake的单价,以逗号分隔 第二行表示gift的单价,以逗号分

    2024年02月14日
    浏览(43)
  • 华为OD机试 - 排队游戏(Java & JS & Python)

    题目描述 新来的老师给班里的同学排一个队。 每个学生有一个影力值。 一些学生是刺头,不会听老师的话,自己选位置,非刺头同学在剩下的位置按照能力值从小到大排。 对于非刺头同学,如果发现他前面有能力值比自己高的同学,他不满程度就增加,增加的数量等于前面

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包