如何用Java编写公平与手速抢红包算法?

2026-05-16 02:030阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1385个文字,预计阅读时间需要6分钟。

如何用Java编写公平与手速抢红包算法?

在群里抢红包时,速度真的快吗?答案自然是,也并不是。都说了是拼手速,也可能是拼手速!不过,也有拼手速的方法:抢红包+双重平均值法(公平版)+线性切割法。

当我们在群里抢红包时真的是手速越快红包金额越大吗?

答案当然是并不是,都说了是拼手气,岂能是拼手速!

不过也可以有拼手速的方法

抢红包

  • 二倍均值法(公平版)
  • 线段切割法(手速版)

二倍均值法(公平版)

这是一种很合理很公平的抢红包算法了,绝对不会让你拼手速的,就别天真了。
在此我们假设

如何用Java编写公平与手速抢红包算法?

红包剩余金额为 M
红包剩余数量为 N
这种算法就是每次都在区间[0,M/N×2] 随机取一个数

假设100元红包发10个人,那么合理的做法应该是每个人领到10元的概率相同。
第一个人随机金额的范围为[0,100/10×2] ,也就是[0,20],这样平均可以领到10元,此时剩余金额为100-10=90。
第二个人随机金额的范围为[0,90/9×2] ,也就是[0,20],这样平均也可以领到10元,此时剩余金额为90-10=80。

阅读全文

本文共计1385个文字,预计阅读时间需要6分钟。

如何用Java编写公平与手速抢红包算法?

在群里抢红包时,速度真的快吗?答案自然是,也并不是。都说了是拼手速,也可能是拼手速!不过,也有拼手速的方法:抢红包+双重平均值法(公平版)+线性切割法。

当我们在群里抢红包时真的是手速越快红包金额越大吗?

答案当然是并不是,都说了是拼手气,岂能是拼手速!

不过也可以有拼手速的方法

抢红包

  • 二倍均值法(公平版)
  • 线段切割法(手速版)

二倍均值法(公平版)

这是一种很合理很公平的抢红包算法了,绝对不会让你拼手速的,就别天真了。
在此我们假设

如何用Java编写公平与手速抢红包算法?

红包剩余金额为 M
红包剩余数量为 N
这种算法就是每次都在区间[0,M/N×2] 随机取一个数

假设100元红包发10个人,那么合理的做法应该是每个人领到10元的概率相同。
第一个人随机金额的范围为[0,100/10×2] ,也就是[0,20],这样平均可以领到10元,此时剩余金额为100-10=90。
第二个人随机金额的范围为[0,90/9×2] ,也就是[0,20],这样平均也可以领到10元,此时剩余金额为90-10=80。

阅读全文