有一个需求,大致就是自动平均分配每个人的任务,每当有用户登陆时,就要从未处理的所有的任务中分配一定的任务给新用户,还要考虑已处理的任务不算入
举个例子就是这样的,但实际上会有人不断处理,所以这是个简单的例子
有100个数字
A用户可以拥有1-100个数字
当有B用户时,那么就要取100的平均数50,分配给B
那么A就是1-50
B就是51-100
当当有C用户时,那么就要取100/3=33.33,有余数时+1,就是34,则
A就有1-34,B就有51-84,C就有35-50和85-100
以此类推.....当不满足分配时就跳过这个用户
或者有没有什么更好的办法来解决这个平均分配的任务
输入: 任务数 count , 人数 num
接口1: 任务由谁做 ( 任务索引a)返回人的索引 b
b = a %num ,
接口2:某人的所有任务 ( 人的索引b )返回任务集合 arr
while ( b <num )
{
arr.add( b) ;
b+= num ;
}
没必要这样,用户登录后就直接分配一个任务给他就行了,他做完了可以继续领取任务,不用事先分配好,不然登录的用户是动态,你不得烦死了
或者登陆后一次多分配几个,看一单任务的花费时间来定,没必要把池子里的任务全部分配出去
需求就是个伪需求,平均个毛,要是C登录进来的时候,A做完了前50个,B已经做到99了,还胜100没做,就已经只剩余一个任务了,C就只能做这了一个了,怎么平均。还是像楼上这哥们儿说的靠谱些