Java 实现仿照微信抢红包算法,实测结果基本和微信吻合,附demo
来源:互联网
实现拼手气红包算法,有以下几个需要注意的地方:
抢红包的期望收益应与先后顺序无关
保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如区块链货币或者积分,需要自定义一个最小金额。
所有抢红包的人领取的子红包的金额之和加起来,等于发红包的人发出的总红包的金额。 下面实现的方式是一次生成所有的子红包,让用户按顺序领取。也可以每领取一个生成一个,两种方式性能上各有优劣。
实现拼手气红包算法,有以下几个需要注意的地方:
抢红包的期望收益应与先后顺序无关
保证每个用户至少能