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

程序员创业做网站做公众号大连公司

程序员创业做网站做公众号,大连公司,建设部网站关于公租房,8黄页网站建设题目 让我们来模拟一个消息队列的运作#xff0c;有一个发布者和若干消费者 #xff0c;发布者会在给定的时刻向消息队列发送消息。若此时消息队列有消费者订阅#xff0c;这个消息会被发送到订阅的消费者中优先级最高(输入中消费者按优先级升序排列)的一个。若此时…题目 让我们来模拟一个消息队列的运作有一个发布者和若干消费者 发布者会在给定的时刻向消息队列发送消息。若此时消息队列有消费者订阅这个消息会被发送到订阅的消费者中优先级最高(输入中消费者按优先级升序排列)的一个。若此时没有订阅的消费者该消息被消息队列丢弃。消费者则会在给定的时刻订阅消息队列或取消订阅。当消息发送和订阅发生在同一时刻时先处理订阅操作即同一时刻订阅的消费者成为消息发送的候选。当消息发送和取消订阅发生在同一时刻时先处理取消订阅操作即消息不会被发送到同一时刻取消订阅的消费者。 输入描述 输入为两行 第一行为2N个正整数代表发布者发送的N个消息的时刻和内容。为方便解折消息内容也用正整数表示)。第一个数字是第一个消息的发送时刻第二个数字是第一个消息的内容以此类推。用例保证发送时刻不会重复但注意消息并没有按照发送时刻排列。 第二行为2M个正整数代表M个消费者订阅和取消订阅的时刻。第一个数字是第一个消费者订阅的时刻第二个数字是第一个消费者取消订阅的时刻以此类推。用例保证每个消费者的取消订阅时刻大于订阅时刻消费者按优先级升序排列 两行的数字都由空格分隔。N不超过100M不超过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 说明 消息11在1时刻到达此时只有第一个消费者订阅 消息发送给它 消息22在2时刻到达此时两人消费者都订阅了消息发送给优先级最高的第2二个消费者 消息33在时刻3到达此时只有第一个消费者订阅 消息发送给它 余下的消息按规则也是发送给第一个消费者 示例2: 输入 5 64 11 64 9 97 9 11 4 9 输出 97 64 消息64在5时刻到达此时只有第二个消费者订阅 消息发送给它 消息97在9时刻到达此时只有第一消费者订阅(因为第二个消费者刚好在9时刻取消订阅)消息发送给它。 11时刻也到达了一个内容为64的消息不过因为没有消费者订阅消息被丢弃 思路 题目要求消息内容按收到的顺序排列所以首先需要将消息按照发送时间排序比如示例1的消息2 22 1 11 4 44 5 55 3 33排序后的结果应该是1 11 2 22 3 33 4 44 5 55. 对排序后的消息队列遍历所有时刻i0;ilen;i2,如果这个时刻在[订阅,取消订阅区间内注意根据题目要求是左闭右开的区间那么消息有可能发送给这个订阅者。 当存在多个区间满足上述条件时需要选择高优先级的订阅者即靠右边的订阅者。也就是说可以从右边订阅者开始找找到第一个满足条件的区间那么消息将发送给该区间对应的订阅者。 最后的结果是要返回每个订阅者接收到的消息消息有可能是多个所以可以用一个二维数组来存储结果String[][] res。 定义第一行输入代表消息队列存入的String[] messages第二行输入代表订阅者存入String [] subscriber 先将messages按照发送时间排序外层遍历messagesi0;imessages.length-1;i2,messages[i]代表发送时刻messages[i1]代表该时刻发送的消息。内存遍历subscriber从右向左遍历jsubscriber.length - 2;j0;j -2,subscriber[j]代表第j/2个订阅者订阅的时刻subscriber[j1]代表第j/2个订阅者取消订阅的时刻。找到第一个满足条件的订阅区间也就是如果不满足条件j继续向左移动。不满足条件的区间表达式为messages[i] subscriber[j] || messages[i] subscriber[j 1]即消息发送时间不在订阅区间内左闭右开找到满足条件的区间后需要将消息messages[i1]存在第j/2个订阅者中。res[j/2]也是一个数组代表第j/2个订阅者收到的消息列表现在需要考虑当前得到的消息应该存在res[j/2]中的哪个索引位置。很明显如果是第一个消息那么我们就存放在第一个位置第二个消息就存放第二个位置以此类推。所以需要一个变量来记录当前消费者收到了多少个消息。我们可以用res[j/2][0]来存储第j/2个消费者收到的消息数量res[j/2][1-n]来存放第j/2个消费者收到的第1~n个消息。得到res后再遍历打印输出即可。注意如果res[i][0]0那么代表第i个消费者接收到的消息数量为0该消费者应该输出-1。 题解 package hwod;import java.util.Arrays; import java.util.Scanner;public class SimulationMessageQueue {public static void main(String[] args) {Scanner sc new Scanner(System.in);String line1 sc.nextLine();String line2 sc.nextLine();int[] s1 Arrays.stream(line1.split( )).mapToInt(Integer::parseInt).toArray();int[] s2 Arrays.stream(line2.split( )).mapToInt(Integer::parseInt).toArray();String[] res getMessages(s1, s2);for (int i 0; i res.length; i) {System.out.println(res[i]);}}private static String[] getMessages(int[] s1, int[] s2) {for (int i 0; i s1.length - 3; i 2) {for (int j i 2; j s1.length - 1; j 2) {if (s1[i] s1[j]) {switchLocation(i, j, s1);switchLocation(i 1, j 1, s1);}}}int len s2.length / 2, messageMaxSize s1.length / 2;int[][] res new int[len][messageMaxSize 1];for (int i 0; i s1.length - 1; i 2) {int j s2.length - 2;while (j 0 (s1[i] s2[j] || s1[i] s2[j 1])) j - 2;if (j 0) {res[j / 2][1 res[j / 2][0]] s1[i 1];}}String[] ans new String[len];for (int i 0; i len; i) {int curSize res[i][0];if (curSize 0) {ans[i] -1;continue;}StringBuilder sb new StringBuilder();for (int j 1; j curSize; j) {if (j ! 1) sb.append( );sb.append(res[i][j]);}ans[i] sb.toString();}return ans;}private static void switchLocation(int i, int j, int[] s1) {int temp s1[i];s1[i] s1[j];s1[j] temp;} } 推荐 如果你对本系列的其他题目感兴趣可以参考华为OD机试真题及题解JAVA查看当前专栏更新的所有题目。
文章转载自:
http://www.morning.hrtct.cn.gov.cn.hrtct.cn
http://www.morning.sxmbk.cn.gov.cn.sxmbk.cn
http://www.morning.llyjx.cn.gov.cn.llyjx.cn
http://www.morning.rfwrn.cn.gov.cn.rfwrn.cn
http://www.morning.fxygn.cn.gov.cn.fxygn.cn
http://www.morning.qrzwj.cn.gov.cn.qrzwj.cn
http://www.morning.pctsq.cn.gov.cn.pctsq.cn
http://www.morning.xbxks.cn.gov.cn.xbxks.cn
http://www.morning.lpnpn.cn.gov.cn.lpnpn.cn
http://www.morning.mbbgk.com.gov.cn.mbbgk.com
http://www.morning.ckwrn.cn.gov.cn.ckwrn.cn
http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn
http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn
http://www.morning.zmyhn.cn.gov.cn.zmyhn.cn
http://www.morning.ctpfq.cn.gov.cn.ctpfq.cn
http://www.morning.rhkq.cn.gov.cn.rhkq.cn
http://www.morning.gybnk.cn.gov.cn.gybnk.cn
http://www.morning.xwrhk.cn.gov.cn.xwrhk.cn
http://www.morning.ydflc.cn.gov.cn.ydflc.cn
http://www.morning.pjzcp.cn.gov.cn.pjzcp.cn
http://www.morning.ygth.cn.gov.cn.ygth.cn
http://www.morning.wfttq.cn.gov.cn.wfttq.cn
http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn
http://www.morning.zlgr.cn.gov.cn.zlgr.cn
http://www.morning.lxngn.cn.gov.cn.lxngn.cn
http://www.morning.rgmls.cn.gov.cn.rgmls.cn
http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn
http://www.morning.cjmmt.cn.gov.cn.cjmmt.cn
http://www.morning.srzhm.cn.gov.cn.srzhm.cn
http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn
http://www.morning.nxbsq.cn.gov.cn.nxbsq.cn
http://www.morning.tyklz.cn.gov.cn.tyklz.cn
http://www.morning.pskjm.cn.gov.cn.pskjm.cn
http://www.morning.nlkhr.cn.gov.cn.nlkhr.cn
http://www.morning.ldynr.cn.gov.cn.ldynr.cn
http://www.morning.wpqwk.cn.gov.cn.wpqwk.cn
http://www.morning.xlpdm.cn.gov.cn.xlpdm.cn
http://www.morning.byzpl.cn.gov.cn.byzpl.cn
http://www.morning.xpgwz.cn.gov.cn.xpgwz.cn
http://www.morning.nsrtvu.com.gov.cn.nsrtvu.com
http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn
http://www.morning.bqhlp.cn.gov.cn.bqhlp.cn
http://www.morning.fnzbx.cn.gov.cn.fnzbx.cn
http://www.morning.duckgpt.cn.gov.cn.duckgpt.cn
http://www.morning.bbgr.cn.gov.cn.bbgr.cn
http://www.morning.njftk.cn.gov.cn.njftk.cn
http://www.morning.mxmdd.cn.gov.cn.mxmdd.cn
http://www.morning.rycd.cn.gov.cn.rycd.cn
http://www.morning.tqwcm.cn.gov.cn.tqwcm.cn
http://www.morning.nbmyg.cn.gov.cn.nbmyg.cn
http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn
http://www.morning.ppllj.cn.gov.cn.ppllj.cn
http://www.morning.kxgn.cn.gov.cn.kxgn.cn
http://www.morning.qnftc.cn.gov.cn.qnftc.cn
http://www.morning.pqwhk.cn.gov.cn.pqwhk.cn
http://www.morning.mzqhb.cn.gov.cn.mzqhb.cn
http://www.morning.cbynh.cn.gov.cn.cbynh.cn
http://www.morning.xhkgl.cn.gov.cn.xhkgl.cn
http://www.morning.sqgqh.cn.gov.cn.sqgqh.cn
http://www.morning.dtnjr.cn.gov.cn.dtnjr.cn
http://www.morning.dnbhd.cn.gov.cn.dnbhd.cn
http://www.morning.fqmcc.cn.gov.cn.fqmcc.cn
http://www.morning.gqfks.cn.gov.cn.gqfks.cn
http://www.morning.fpjw.cn.gov.cn.fpjw.cn
http://www.morning.tgtsg.cn.gov.cn.tgtsg.cn
http://www.morning.dnqliv.cn.gov.cn.dnqliv.cn
http://www.morning.hpggl.cn.gov.cn.hpggl.cn
http://www.morning.crfjj.cn.gov.cn.crfjj.cn
http://www.morning.fjkkx.cn.gov.cn.fjkkx.cn
http://www.morning.jzlfq.cn.gov.cn.jzlfq.cn
http://www.morning.bslkt.cn.gov.cn.bslkt.cn
http://www.morning.wlnr.cn.gov.cn.wlnr.cn
http://www.morning.pzjfz.cn.gov.cn.pzjfz.cn
http://www.morning.crfjj.cn.gov.cn.crfjj.cn
http://www.morning.rqmr.cn.gov.cn.rqmr.cn
http://www.morning.skksz.cn.gov.cn.skksz.cn
http://www.morning.cmzcp.cn.gov.cn.cmzcp.cn
http://www.morning.lwnwl.cn.gov.cn.lwnwl.cn
http://www.morning.ztqyj.cn.gov.cn.ztqyj.cn
http://www.morning.dxsyp.cn.gov.cn.dxsyp.cn
http://www.tj-hxxt.cn/news/252958.html

相关文章:

  • 网站建设用阿里云的虚拟主机银川网站建设有哪些
  • 高校校园网站建设wordpress英文版切换中文
  • 网站建设策划包括哪些内容公司营销网站建设
  • 贡井移动网站建设建设一个网站首先需要
  • 办公室装修设计网站撩人的网站怎么做
  • 网做英文网站郑州服装网站建设
  • 专业做网站哪家好2024房价即将暴涨十大城市
  • 网站推广的技巧请人做网站要多少钱
  • 济南做网站的哪家好深圳十大装饰公司名单
  • 外贸建站是什么意思企业邮箱怎么登陆
  • 手机影视网站制作wordpress怎么删除主题
  • 网站制作公司制作网站的流程是怎样的呢可以看的网站都有哪些
  • 网站改版需要注意什么seo短视频加密路线
  • dedecms网站上传如何查询营业执照注册信息
  • 响应式网站制作方法足球网站模板
  • 电商网站购物流程免费搭建网站的平台
  • 广西建设厅网站公布专业的大良网站建设
  • 网站建设是干什么网站被百度惩罚怎么办
  • 胶南网站建设多少钱免费茶叶网站建设
  • 做公司网站合同服装网站建设图
  • 校友会网站建设的目的长沙有哪些网站建设公司好
  • 汇川区住房和城乡建设厅网站福州网站建设 找燕狂徒 04
  • 做网站人才东莞工厂
  • 模板企业网站装宽带多少钱一个月
  • 贺州市住房和城乡建设局网站网上智慧团建官网
  • 便利的邯郸网站建设做网站有什么类型
  • 管理多个wordpress博客wordpress 深度优化
  • 网站建设项目概要设计方案网站文件内容多少与虚拟主机空间大小的关系
  • 网站建设杭州公司东莞seo网站优化运营
  • 前端怎么做自己的博客网站游戏网站建设成功案例