平时各位朋友在开发的过程中,如果是商城或者金融项目会涉及到发红包等操作,最近就有业务用到了这个,所以就写了一个,结果比较均衡,不会出现暴雷(一个或几个红包特别大)情况。
talk is cheap,show me your code
1.方法代码
public static List<Integer> redPacket(int pool, int n, List<Integer> list) {
if (list == null) {
list = new ArrayList<>(n);
}
if (pool < n) {
return average(pool, pool);
}
int i = pool / n;
int nextInt = new Random().nextInt(i) + 1;
int count = nextInt;
if (list.isEmpty()) {
list.add(nextInt);
for (int j = 0, k = n - 1