作业帮 > 综合 > 作业

谁能解决这个较大数字序列随机排列但又不重复的问题

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/30 07:09:15
谁能解决这个较大数字序列随机排列但又不重复的问题
现在要实现这么个功能,有3个视频节目A,B,C,D一段时间内A要播放100次,B200次,C 300次,D400次.要求或者他们的播放序列,序列要符合两个要求:1.同一个节目不能里连续播放两次以上,必须有间隔.2、播放次数的多出现的频率高.
现在我的做法是,先做一个10维数组,其中有1个A,2个B,3个C,4个D,然后随机取这个十维数组的某一位,放入队列,然后随机去第二位,如果与第一个不重复就放入序列,如果重复就重取,这样就能实现要求的功能.
但是现在的问题是:如果播放次数不是100的整数,而是像110,120,150这样的数,就只能从大小为11+12+15这样较大的数组取数,由于随机数回渠道重复的数组,而这个数组有很大,所以造成效率很低,重复取到相同节目的情况很多,程序很久没有响应.
求那位高手可以解决这个问题
谁能解决这个较大数字序列随机排列但又不重复的问题
建立一个100+200+300+400的字符数组,先对这个数组进行赋值,
100个‘A',200个'B',300个'C',400个'D',保证你的条件即可.
然后对这个数组进行循环即可.