温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
本文中我们将介绍几种主流的IM红包分配算法,相信聪明的你一定能从中窥见微信红包技术实现的一些奥秘。本文已同步发布于HTTPWW52IN net thread, 46611HTML。主流的红包算法一,普通随机法以上是算法示例,Mtra d1、2MD包含区间前后边界的,即包含最大值和最小值,1和2都会出现。主流的红包算法二,2倍均值算法正常的算法定好每个人的最小值,然后就是定下随机区间问题。2倍均值实际上就是用剩下金额的两倍均值为最大区间进行随机,相对正态分布区间相对合适。但人数越接近总额,分布越均匀,也可以3倍、4倍,倍数越高越随机,正态分布越扁平。以上是算法示例。
01:03
常规线段分割算法以下是常规线段分割算法示例,使用AR rered优化后的线段分割算法以下是AR rered优化后的线段分割算法示例,验证AR rered的随机特性。在写线段分割算法时发现当全区间m trend d后出现重复切点,需要去种生成非重复的切点。这里第一时间想到了使用AR re red, 但不确定AR re red的随机特性,不知道它的随机特性是否有去重处理。经过验证,AR RA red air8同时随机揉个索引下标识有去重处理,且随机特性很好。事实证明,AR RA red一次拿出个随机值时,随机且去重,且随机区间包括首尾。代码示例,如上。主流的红包算法的耗时和效果对比,最后我们对全文提到的红包算法的随机性以及计算性价比进行一个整体比较。以下是测试代码。
02:05
如上图所示,线段分割算法与2倍均值相比,随机区间更大。如上图所示,线段分割普通版随着红包总额与红包人数相近时及切点接近总值时,随机碰撞率显著升高,性能下降,但经过优化后的线段分割算法性能比2倍均值还优秀。
我来说两句