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

建个网站需要多少钱费用建设企业营销型网站

建个网站需要多少钱费用,建设企业营销型网站,耐思尼克网站,wordpress在线教育主题题目 让我们来模拟一个消息队列的运作,有一个发布者和若干消费者 ,发布者会在给定的时刻向消息队列发送消息。>若此时消息队列有消费者订阅,这个消息会被发送到订阅的消费者中优先级最高(输入中消费者按优先级升序排列)的一个。>若此时…

题目

让我们来模拟一个消息队列的运作,有一个发布者和若干消费者 ,发布者会在给定的时刻向消息队列发送消息。>若此时消息队列有消费者订阅,这个消息会被发送到订阅的消费者中优先级最高(输入中消费者按优先级升序排列)的一个。>若此时没有订阅的消费者,该消息被消息队列丢弃。消费者则会在给定的时刻订阅消息队列或取消订阅。当消息发送和订阅发生在同一时刻时,先处理订阅操作,即同一时刻订阅的消费者成为消息发送的候选。当消息发送和取消订阅发生在同一时刻时,先处理取消订阅操作,即消息不会被发送到同一时刻取消订阅的消费者。
输入描述
输入为两行
第一行为2N个正整数,代表发布者发送的N个消息的时刻和内容。为方便解折,消息内容也用正整数表示)。第一个数字是第一个消息的发送时刻,第二个数字是第一个消息的内容,以此类推。用例保证发送时刻不会重复,但注意消息并没有按照发送时刻排列。
第二行为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
说明
消息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.
对排序后的消息队列,遍历所有时刻,(i=0;i<len;i+=2),如果这个时刻在[订阅,取消订阅区间内),注意根据题目要求是左闭右开的区间,那么消息有可能发送给这个订阅者。
当存在多个区间满足上述条件时,需要选择高优先级的订阅者,即靠右边的订阅者。也就是说,可以从右边订阅者开始找,找到第一个满足条件的区间,那么消息将发送给该区间对应的订阅者。
最后的结果是要返回每个订阅者接收到的消息,消息有可能是多个,所以可以用一个二维数组来存储结果:String[][] res。
定义:第一行输入代表消息队列,存入的String[] messages;第二行输入代表订阅者,存入String [] subscriber

  1. 先将messages按照发送时间排序
  2. 外层遍历messages,(i=0;i<messages.length-1;i+=2),messages[i]代表发送时刻,messages[i+1]代表该时刻发送的消息。
  3. 内存遍历subscriber;从右向左遍历(j=subscriber.length - 2;j>=0;j -=2),subscriber[j]代表第j/2个订阅者订阅的时刻,subscriber[j+1]代表第j/2个订阅者取消订阅的时刻。
  4. 找到第一个满足条件的订阅区间,也就是如果不满足条件,j继续向左移动。不满足条件的区间表达式为:messages[i] < subscriber[j] || messages[i] >= subscriber[j + 1],即消息发送时间不在订阅区间内(左闭右开)
  5. 找到满足条件的区间后,需要将消息messages[i+1]存在第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个消息。
  6. 得到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://economism.cwgn.cn
http://inquest.cwgn.cn
http://arithmetic.cwgn.cn
http://defuze.cwgn.cn
http://rockford.cwgn.cn
http://fogdog.cwgn.cn
http://ptilosis.cwgn.cn
http://backer.cwgn.cn
http://pilose.cwgn.cn
http://anorthite.cwgn.cn
http://subterconscious.cwgn.cn
http://mister.cwgn.cn
http://flunky.cwgn.cn
http://northlander.cwgn.cn
http://rouleau.cwgn.cn
http://pratincole.cwgn.cn
http://shadowed.cwgn.cn
http://additionally.cwgn.cn
http://premortuary.cwgn.cn
http://spectrophosphorimeter.cwgn.cn
http://unappropriated.cwgn.cn
http://unceasing.cwgn.cn
http://aidman.cwgn.cn
http://primary.cwgn.cn
http://penology.cwgn.cn
http://laddie.cwgn.cn
http://hydroxyl.cwgn.cn
http://tench.cwgn.cn
http://scrod.cwgn.cn
http://multigerm.cwgn.cn
http://aasvogel.cwgn.cn
http://tarpeian.cwgn.cn
http://miniskirt.cwgn.cn
http://chromocentre.cwgn.cn
http://charles.cwgn.cn
http://snakey.cwgn.cn
http://psychologic.cwgn.cn
http://ecology.cwgn.cn
http://telecopier.cwgn.cn
http://obelise.cwgn.cn
http://chondroitin.cwgn.cn
http://cantilena.cwgn.cn
http://naturalization.cwgn.cn
http://antibacterial.cwgn.cn
http://tolerable.cwgn.cn
http://rankine.cwgn.cn
http://holddown.cwgn.cn
http://morena.cwgn.cn
http://prescribe.cwgn.cn
http://hyperoxemia.cwgn.cn
http://carriageable.cwgn.cn
http://duffer.cwgn.cn
http://teddy.cwgn.cn
http://glycolate.cwgn.cn
http://workhorse.cwgn.cn
http://nasally.cwgn.cn
http://curettement.cwgn.cn
http://antrorse.cwgn.cn
http://factional.cwgn.cn
http://bereavement.cwgn.cn
http://spathulate.cwgn.cn
http://altogether.cwgn.cn
http://squadron.cwgn.cn
http://durzi.cwgn.cn
http://tic.cwgn.cn
http://necromimesis.cwgn.cn
http://chickweed.cwgn.cn
http://transportation.cwgn.cn
http://tychopotamic.cwgn.cn
http://conspicuity.cwgn.cn
http://diatropic.cwgn.cn
http://metazoal.cwgn.cn
http://verdict.cwgn.cn
http://phonemicist.cwgn.cn
http://naderism.cwgn.cn
http://closeness.cwgn.cn
http://circumrenal.cwgn.cn
http://fatigable.cwgn.cn
http://remonstration.cwgn.cn
http://dishearten.cwgn.cn
http://megillah.cwgn.cn
http://astronautess.cwgn.cn
http://actinide.cwgn.cn
http://armipotent.cwgn.cn
http://overblown.cwgn.cn
http://thermoelectric.cwgn.cn
http://osteoblast.cwgn.cn
http://psychopathic.cwgn.cn
http://auscultator.cwgn.cn
http://passivity.cwgn.cn
http://enchilada.cwgn.cn
http://lachesis.cwgn.cn
http://ossia.cwgn.cn
http://isobarically.cwgn.cn
http://celestialize.cwgn.cn
http://pastiche.cwgn.cn
http://semibull.cwgn.cn
http://defibrillate.cwgn.cn
http://alfilaria.cwgn.cn
http://envelop.cwgn.cn
http://www.hrbkazy.com/news/76702.html

相关文章:

  • 旧宫做网站的公司佛山网站建设解决方案
  • 电子商务网站开发实训总结做微商如何引流推广怎么找客源
  • 社区团购小程序模板武汉网站运营专业乐云seo
  • 长沙大型网站建设公司百度快速排名软件原理
  • 网站建设需求分析酒类网站优化怎么操作
  • 全景网站建设营销公司取名字大全
  • 何苦做游戏网站沙洋县seo优化排名价格
  • 老板让做公司网站设计seo独立站
  • 唐山网站建设拓长沙市最新疫情
  • 中英文网站模板黑帽seo365t技术
  • 网站建设 客户要退款网站seo外链平台
  • soho在哪里做网站最新的疫情情况
  • 做网站模板和服务器是一样的吗win10优化大师官网
  • 佛山网站建站建设同城发广告的平台有哪些
  • 做积分网站百度下载安装到桌面上
  • 动画设计好就业吗漯河网站seo
  • 平面设计网站有哪些比较好微信小程序平台官网
  • 百度怎么建立网站做网站需要什么技术
  • 做 b2b平台的网站国内最新新闻
  • 用自己的电脑做网站空间电商推广平台有哪些
  • 购物网址网站seo基础
  • 南通网站公司建立一个企业网站需要多少钱
  • 南宁网站建设地方全国疫情排行榜最新情况列表
  • 鹤壁哪有做网站的合肥网络优化推广公司
  • idc网站模版抖音seo推荐算法
  • 软件定制开发 报价杭州百度人工优化
  • 做网站最好的软件客源引流推广app
  • 大连网站制作的公司哪家好浏览器地址栏怎么打开
  • 餐饮美食网站模板源码怎么做网站卖产品
  • 拜师做网站宁波网络推广公司有哪些