【问题标题】:How to calculate a post's score based on user's reputation?如何根据用户的声誉计算帖子的分数?
【发布时间】:2013-09-18 10:13:37
【问题描述】:

我读过很多关于声誉的话题,但没有一个符合我的需要。 我正在实施一个问答网站。每个帖子(问题/答案)都可以投票。每个用户都有一个信誉分数。根据用户的声誉,每个帖子的投票权重更大。 但是,例如,我不想做无休止的 if else,例如

if (0 < user_reputation < 10) then post_vote += 1
if (10 < user_reputation < 20) then post_vote += 2
if (20 < user_reputation < 30) then post_vote += 3
if (30 < user_reputation < 40) then post_vote += 4
..........

请提出一种更好的方法(一个公式左右)来计算帖子的投票,而不使用上述无穷无尽的 if/else。 我正在使用 Java。

【问题讨论】:

  • 如果您发现10 with 140 with 4 之间存在逻辑关系:)
  • 10个呢?是 1 还是 2?
  • 我怀疑你会发现,随着用户获得更多声誉,简单地除以 10 仍然会非常(过多)有利于声誉高的用户。在过去,我发现添加 Log2(user_reputation) 可以防止高声誉用户完全占据主导地位。
  • 感谢 Jim Mischel,您的解决方案和 Pawan 的结合正是我想要的。

标签: java algorithm weighted weighted-average


【解决方案1】:

使用post_vote += (int)(user_reputation/10);

【讨论】:

  • 是的,你得到了我的评论 :) +1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 1970-01-01
  • 2019-04-04
  • 2017-05-22
相关资源
最近更新 更多