需要指派工作人员,以便每个部门的平均体验年龄大致相同

时间:2016-04-20 11:20:58

标签: javascript math

我们在工作中正在做黑客马拉松,我需要将每个员工分配到团队中。

我正在尝试匹配每个团队,以便他们有相同的经验(希望在2年内)。

我本来希望写一个快速的javascript程序来实现这一目标,因为将有不到50名员工参与(分成10个团队)。他们将填写一份快速的在线表格,说明他们当天的经历,我希望快速的JS功能可以对它进行排序。

我打算根据经验对每个人进行排序,然后将它们分配给一个团队,例如

  • 戴夫 - 2年
  • 史蒂夫 - 4年
  • adil - 4年
  • predeesh - 5年
  • 亚当 - 5年
  • 约翰 - 7年

所以,如果我有两支球队,我会把dave放在第一支球队,第二支球队,第一支队伍,第二支队伍,第二支队伍中等等。然而,由于第一队有11年而第二队有16年,所以这并不是很有效。

我想尝试尽可能接近差距。是否有任何数学公式我可以用来解决这个问题。

我可以手工制作,但每个人都要来当天,等待并手工整理出来有点痛苦。

由于

1 个答案:

答案 0 :(得分:0)

也许这可以帮助您开始解决方案。 您需要了解所有员工的平均体验,然后将其乘以每个团队的人数并获得每个团队的平均体验。

在您的示例中,如果您想要2个3人团队,那么您将拥有13年和5年的每个团队平均经验。然后,您需要与总人数相同的3人组成团队(或者在这种情况下是最接近的整数,13或14)。

了解每个团队所需的经验,您只需"需要找到具有13年或14年经验的团队的所有可能组合。

为了在你的例子中做到这一点,我开始选择经验最丰富的人,并将他与经验最少的人合作,但根据你在程序中存储员工的方式,它可能会有所不同。

我知道这不是一个完整的解决方案,但我希望它有所帮助,我可以解释一下。