有N个用户,有一个A(权重不定),B(权重不定),C(权重不定),D(权重不定),E(权重不定)个渠道;
当用户 AO 进来时,选取一个渠道进入(如C渠道);用户BO进来时选取一个通道(如E渠道);
要求每次AO进来时都选取C渠道,而每次BO进来时都选取E渠道
如单独比对各个渠道时,if(AO,A) = false,if(AO,B) = false,if(AO,C) = true,if(AO,D) = false,if(AO,E) = false
======================================================================
------解决思路----------------------
对账号做hash,然后根据转盘赌算法决定分配到哪个通道。
比如A比重30,B,C,D,E都是20,那么总权重为110
令 x = AO.hashcode()%110 + 1
if 1 <= x <= 30: 进入A
if 31 <= x <= 50: 进入B
....