当前位置: 首页 > wzjs >正文

免费网站模板之家推广软文平台

免费网站模板之家,推广软文平台,桥梁建设杂志有假网站吗,南昌vr网站开发文章目录 模拟消息队列 模拟消息队列 模拟消息队列,有一个发布者、若干消费者,发布者在给定时刻向消息队列发布一条消息,这个消息会发送给订阅的消费者中优先级最高的一个;若没有订阅的消费者,则该消息被丢弃&#xf…

文章目录

  • 模拟消息队列

模拟消息队列

  • 模拟消息队列,有一个发布者、若干消费者,发布者在给定时刻向消息队列发布一条消息,这个消息会发送给订阅的消费者中优先级最高的一个;
  • 若没有订阅的消费者,则该消息被丢弃;
  • 发送消息与订阅同时发生时,优先处理订阅;
  • 发送消息与取消订阅同时发生时,优先处理取消订阅操作;

输入描述:
第一行为2N个正整数,代表发布者发送的消息的时刻与内容;发送时刻不会重复,消息没有按照发送时刻排列;
第二行为2M个正整数,代表M个消费者订阅、取消订阅的时刻。消费者按照优先级升序排列;
N<=100, M<=10,每行的长度不超过1000字符;

输出描述:
输出为M行,依次为M个消费者收到的消息内容,消息内容按照收到的顺序排列,且空格分隔,若某个消费者未收到消息,则输出-1;

示例1
输入:
2 22 1 11 4 44 5 55 3 33
1 7 2 3
输出:
11 33 44 55
22

示例2
输入:
5 64 11 64 9 97
9 11 4 9
输出:
97
64

python实现:

  • 以元组列表存储所有的消息,并按照发送时刻升序排列;
  • 以列表存储消费者的订阅、取消订阅的时刻,越靠后的优先级越高;
  • 以消费者索引为key,值为列表,用于存储每个消费者接收到的消息;
  • 遍历每个消息元组,发送给优先级最高且满足要求的消费者;

# 消息发布
pub_msg_list = [int(i) for i in input().strip().split()]
msg_num = len(pub_msg_list) // 2
# 按照发送时刻升序排序
pair_msg_list = []
for i in range(msg_num):# 获取一个消息msg_time = pub_msg_list[2*i]msg_cnt = pub_msg_list[2*i+1]pair_msg_list.append((msg_time, msg_cnt))
# 升序排序
pair_msg_list.sort(key=lambda i:i[0])# 订阅者
suber_list = [int(i) for i in input().strip().split()]
suber_num = len(suber_list) // 2# 记录接收消息
receive_records = {}
for i in range(suber_num):receive_records[i] = []# 遍历每个消息,并与订阅时间点比较
for msg_time, msg_cnt in pair_msg_list:# 与订阅者比较for j in reversed(range(suber_num)):# 获取订阅时刻、取消订阅时刻sub_time, unsub_time = suber_list[2*j], suber_list[2*j+1]if msg_time >= sub_time and msg_time < unsub_time:receive_records[j].append(msg_cnt)break# 输出每个消费者接收到的消息
for i in range(suber_num):recv_msg = receive_records.get(i)if recv_msg:print(" ".join([str(j) for j in recv_msg]))else:print(-1)
http://www.dtcms.com/wzjs/122884.html

相关文章:

  • 大型网站制作百度搜索结果优化
  • 网站空间租赁费用成都百度推广
  • 重庆市建设工程信息网官方网站关键字搜索引擎
  • 过期域名网站上海野猪seo
  • 机械产品做哪个网站seo是什么简称
  • 网站群建设目标青岛网站设计公司哪家好
  • 广州天河区做网站抚州seo排名
  • 专业网站设计服务商产品网络营销策划方案
  • 做网站一定要psd吗搜索引擎优化包括哪些
  • 付费 视频 网站 怎么做网站开发与设计
  • 哪里有做家教网站的360网站推广
  • 网站登录系统制作腾讯会议价格
  • 方便做流程图的网站链网
  • 公司微信网站建设方案营销型网站外包
  • 亳州做网站的公司电工培训技术学校
  • 嘉兴做网站的衡阳seo快速排名
  • 全屏 单页网站广州百度
  • 网站建设怎么让网站收录网站搭建一般要多少钱
  • 没有网站怎么做cps360优化大师旧版
  • 网站三级页面怎么做网站怎么制作免费的
  • 怎么把别人网站模板下载出来青岛关键词排名提升
  • 公司怎么建设官网免费seo推广公司
  • 温州公司网站建设宁波网站建设推广公司价格
  • 备案时网站关闭seo推广薪资
  • 做网站公司怎么备案客户网站2022年搜索引擎优化指南
  • 贵州省建设厅网站造价工程信息西安网站推广排名
  • 专业网络建站公司免费域名注册平台
  • 做网站与做软件郑州整站关键词搜索排名技术
  • 做视频网站需要什么空间营销推广是什么
  • wordpress找回管理员密码百度seo排名优化公司哪家好