当前位置: 首页 > 面试题库 >

用js模拟实现微信抢红包的算法,并说明你的思路

吴星汉
2023-03-14
本文向大家介绍用js模拟实现微信抢红包的算法,并说明你的思路相关面试题,主要包含被问及用js模拟实现微信抢红包的算法,并说明你的思路时的应答技巧和注意事项,需要的朋友参考一下

普惠红包

除了最后一人,其他每个人随机范围为 (0, 20),也相当于每人平均 10 块吧。
可以再打乱一次顺序来避免最后一人问题。

function grabMoney(total, maxTimes) {
  //  结果数组   剩余次数           剩余金额
  var res = [], times = maxTimes, rest = total;
  while (--times > 1) {
    var r = random(0, rest / times * 2);
    var _r = r.toFixed(2).replace('.', ''); // 处理双精度运算问题
    var _rest = rest.toFixed(2).replace('.', '');
    rest = (_rest - _r) / 100;
    r = parseFloat(r.toFixed(2));
    res.push(r);
  }
  res.push(rest);
  return res;
}

耗时红包

每人随机范围为 (0, 25),超出总价就重新排,低于总价则平摊。
由于有除法,余数计算误差大,所以系统会贪掉一丢丢。

function grabMoney(total, maxTimes) {
  var res = new Array(maxTimes);
  var grabed = 0;
  for (var i=0; i<res.length; i++) {
    var r = random(0, total / 4);
    r = parseFloat(r.toFixed(2));
    grabed += r;
    if (grabed > total) return grabMoney(total, maxTimes);
    res[i] = r;
  }
  if (grabed < total) {
    var average = (total - grabed) / total;
    res = res.map(function(item) {
      return item + average;
    });
  }
  return res;
}
 类似资料:
  • 本文向大家介绍java模拟实现微信红包算法,包括了java模拟实现微信红包算法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现微信红包算法的具体代码,供大家参考,具体内容如下 实现过程 1.代码如下(示例): 2.代码如下(示例): 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 捋一下思路,微信群发红包的基本情况是:每一次发红包都会与上一次有一些时间间隔,实现自动化抢红包的基本思路如下: 手动清空之前微信群中的红包记录 执行自动化抢红包程序,进入发红包的微信群(可以暂时将其顶置),循环检测群中是否有红包,发现红包则点击红包

  • 本文向大家介绍java微信红包实现算法,包括了java微信红包实现算法的使用技巧和注意事项,需要的朋友参考一下 随着目前微信越来越火,所以研究微信的人也就越来越多,这不前一段时间,我们公司就让我做一个微信公众号中问卷调查发红包功能,经过一段时间的研究,把功能完成,里面主要的实现步骤都是按照微信公众号开发文档来的,很详细,在整个过程唯有红包算法需要仔细编写,因为毕竟涉及到钱,所以得小心,而且不仅微信

  • 本文向大家介绍Android实现微信自动抢红包的程序,包括了Android实现微信自动抢红包的程序的使用技巧和注意事项,需要的朋友参考一下  简单实现了微信自动抢红包的服务,原理就是根据关键字找到相应的View, 然后自动点击。主要是用到AccessibilityService这个辅助服务,基本可以满足自动抢红包的功能,但是有些逻辑需要优化,比如,拆完一个红包后,必须手动点击返回键,才能进行下一次

  • 本文向大家介绍微信抢红包ASP.NET代码轻松实现,包括了微信抢红包ASP.NET代码轻松实现的使用技巧和注意事项,需要的朋友参考一下 群里都在玩抢红包,抢了再发,发了再抢,简直是无聊,程序员感兴趣是的如何实现,这里简单说说实现思路,附上dome,代码有点low,好在是实现了,具体内容如下  正文 100块发30个红包    50块发13个红包    1块发10个红包    发红包需要满足以下几个

  • 本文向大家介绍请使用js实现商品的sku,并说说你的思路相关面试题,主要包含被问及请使用js实现商品的sku,并说说你的思路时的应答技巧和注意事项,需要的朋友参考一下 reduce 依次叠加组合