收藏本站
博为峰Android开发培训Banner
您所在的位置:博为峰教育首页 > 资料精选 > 行业资讯 > 【行业资讯】别人在抢红包,java程序员在研究红包算法

【行业资讯】别人在抢红包,java程序员在研究红包算法

       发布时间:2015年08月07日   12:38分    来源:博为峰教育网采编   关键词:java、红包     | 上一篇 | 下一篇 |


  从另一个平均数的图中也可以看出这一规律。

平均数随序列数的变化曲线.jpg
图3. 平均数随序列数的变化曲线

      在样本中,1000价值的钱包被分成100份,均值为10。然而在图3中我们可以看到在最后一个钱包之前,平均数一直低于10,这就说明了一开始的钱包价值偏低,一直被后期的钱包价值拉着往上走,后期的钱包价值更高。

      3. 当然平均数的图还可以透露出另一个规律,那就是最后的那一个人往往容易走运抽得比较多。因为最后那一个人是钱包剩下多少就拿多少的,而之前所有人的平均数 都低于10,所以至少保证了最后一个人会高于平均值。在本样本中,98号钱包抽到35,而最后一份钱包抽到46。

      综上,根据样本猜测:

别人在抢红包java程序员在研究红包算法.jpg

      1. 抽到的钱大多数时候跟别人一样少,但一旦一多,就容易多很多。
      2. 越是抽后面的钱包,钱越容易多。
      3. 最后一个人往往容易撞大运。

      点评:这种明显很实际有差异,小编每次不管什么时候抢都是几毛钱。

      第二位同学写了一个简单python 代码

      据观察,红包分钱满足以下几点:

      1.不会有人拿不到钱
      2.不会提前分完
      3.钱的波动范围很大

      红包在一开始创建的时候,分配方案就订好了。抢红包的时候,不过是挨个pop up而已。

      因此 python 代码如下:

      不过上述算法还有两个小问题:

      1.浮点数精度问题
      2.边界值的处理