码迷,mamicode.com
首页 > 编程语言 > 详细

抢红包大战(阿里,腾讯)的算法

时间:2015-02-27 19:00:40      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

我个人这么想的:
假设有n个人,m元
条件: 1.每个人肯定至少0.01元

    2.该红包有过期时间
   3. 发红包时就是 m>=0.01*n;
    4.只有前n个有红包的

先随机分钱:
第一个红包的值,0到m-(n-1)0.01 的随机值x0;
第二个红包的值,0到m-(n-2)
0.01-x0 的随机值x1;
第i个红包的值,0到m-(n-i)*0.01-x0 -x1-…-xi-1的随机值xi;
就随机成{x0,x1,..xi,xn-1}红包,
排队分钱(这要是前n个就有钱的)
第一个人进来[0-n-1]的随机值d,然后取xd就信

总结:随机分成n分,进来的时候随机一个0到n-1,取相印的值
另外开心就好!

抢红包大战(阿里,腾讯)的算法

标签:

原文地址:http://my.oschina.net/u/242853/blog/380523

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!