一个投票功能的权重计算问题

  1. 公司为每个项目设立投票评奖
  2. 每个项目所属的团队人数不一样
  3. 为了公平,为项目所属团队为自己投票设置权重

例如:A项目-80人 B项目40人

那么A项目的人投自己票才相当于B项目的人投自己一票

问题:如果有N个项目,如何计算权重?

阅读 5k
2 个回答
// 设3个项目人数比例为 15:50:72
var nums = [15, 50, 72];

// 求最小项目组人数
var min = Math.min.apply(Math, nums);

// 求权重
var weight = nums.map(function(n) {
    return min / n;
});

上面得到weight = [1, 0.3, 0.20833333333333334]
即A组一票权重为1,B组一票权重为0.3,C组一票权重为0.2083...

假设有n个项目
每个项目的人数分别为: k1,k2,k3....kn,总人数为k1+k2+k3+....+kn=sum

则这些项目组的人员的投票权重为: k1/sum,k2/sum,k3/sum....kn/sum

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题