关于要随机使用某些数据,有要均匀使用的算法

现在正在做发帖机里的代理部分,基本的要求就是返回一个代理,但是这个代理要是随机的,另外这个每个代理出现的次数要均匀,也就是说不能出现一个代理使用了100次,但是另一个代理才使用了1次,这种情况。刚开始想到的算法是优先级随机算法:分为N等级,先使用N等级的账号,每个账号使用后其等级必须减一,当N等级的账号都用完了,就是用N-1等级的账号。当一个账号的等级变为最底层时,使用完后将其等级重新提升为N等级,然后如此循环。。。刚开始感觉很不错,想到的等级数是7,后来编写代码时,感觉7没必要,5也行。。。后来就类比了,只有两个等级也行的。。。

后来又想到没必要弄等级的,只要在每个账号上加一个是否使用过的属性,就能达到同样的效果。

最后来感觉到在那里看过类似的算法,是在操作系统里的算法。使用一个循环列表就能达到我的要求了。使用完一个账号,直接放到列表最后面,然后慢慢循环就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值