抢红包的需求分析 抢红包的场景有点像秒杀,但是要比秒杀简单点。因为秒杀通常要和库存相关。而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可。另外像小米这样的抢购也要比淘宝的要简单,也是因为像小米这样是一个公司的,如果有少量没有抢到,则下次再抢,人工 ...
java 红包规则 拼手气红包: 规则:最大金额:全部金额 个数 倍数 最小金额: . 最后一个红包是全部金额 领取金额 随机分配 ...
2017-01-17 17:31 0 1303 推荐指数:
抢红包的需求分析 抢红包的场景有点像秒杀,但是要比秒杀简单点。因为秒杀通常要和库存相关。而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可。另外像小米这样的抢购也要比淘宝的要简单,也是因为像小米这样是一个公司的,如果有少量没有抢到,则下次再抢,人工 ...
简单分析 普通红包参考Java发红包实现, 随机红包,随机分配,有可能多,有可能少。 比如你会得到最小的红包1分钱有可能,举个简单数字例子 1.第一次发红包,随机范围是0.01元~6.66元 2.第一次发完之后,剩下的至少是3.34元。 3.此时还需要再发2个红包 4.此时的再发范围 ...
public class hongbao { @Test public void testHongbao(){ hb(100, 100, 0.01);//金额,个数,最少值 } v ...
采用多线程模拟多人同时抢红包。服务端将玩家发出的红包保存在一个队列里,然后用Job定时将红包信息推送给玩家。每一批玩家的抢红包请求,其实操作的都是从队列中弹出的第一个红包元素,但当前的红包数量为空的时候,自动弹出下一个红包(如果有的话)。 关键思想: 1.抢红包涉及多人并发操作,需要做好同步 ...
然后创建一个MainClass类对Person类实例化,查看运行结果. 运行结果: ...
需要考虑几个点: 红包形成的队列不应该是从小到大或者从大到小,需要有大小的随机性。 红包这种金钱类的需要用Decimal保证精确度。 考虑红包分到每个人手上的最小的最大的情况。 下面是利用线段分割算法实现的分红包, 比如把100元红包,分给十个人 ...
闲来无事,最近项目需求要写出用户登录首页来发现金红包,没有限额。我就自己稍微计算了一下如果有限额该怎么写。觉得这样与微信红包差不多。等项目需求完成以后。正好来博客贴一下我自己写的拆红包算法。个人觉得这个算法比较模拟现实抢红包规则。废话少说。先贴代码; 这套代码的思考逻辑 ...
简介网上说的有两种比较公平的算法,一种是二倍均值法,一种是线段切割法。下面我们介绍下两种算法的实现: 二倍均值法原理剩余红包金额M,剩余人数N,那么:每次抢到金额=随机(0,M/N*2)保证了每次随机金额的平均值是公平的假设10人,红包金额100元第一人:100/10*2=20,随机范围 ...