我们正在进行一次黑客马拉松的工作,我需要分配每一名工作人员组成小组。
我正在努力匹配每支球队,所以他们拥有相同的经验(希望在两年内)。
我希望编写一个快速的javascript程序来完成这个任务,因为将有50名以下的工作人员参与其中(分成10个团队)。他们会填写一张快速的网上表格,上面写着他们当天的经历,我希望JS功能能对其进行分类。
我打算根据经验对每个人进行排序,并将他们简单地分配给一个团队。
所以如果我有两支球队,我会把戴夫放在一队,史蒂夫在第二队,阿迪尔在一队,预赛在第二组,等等。然而,这并不完全可行,因为一队有11年,第二队有16年。
我想尽量缩小差距。有什么数学公式能解决这个问题吗?
我可以用手来做这件事,但每个人都会在这一天到来,等待并亲手解决这件事有点痛苦。
谢谢
发布于 2016-04-20 12:05:02
也许这能帮你开始解决问题。您需要找出所有员工的平均经验,然后将其乘以每个团队的人数,并获得每个团队的平均经验。
在你的例子中,如果你想要2个3人的团队,你将有13‘5年的经验作为每个团队的平均经验。然后,您需要与3人的经验总数(或在本例中是最接近的整数,13或14年)的团队。
了解每个团队所需的经验,您“只是”需要找到所有可能的组合团队与13年或14年的经验。
为了在你的例子中做到这一点,我开始把最有经验的人和经验最少的人联系起来,但取决于你如何将员工存储在你的程序中,这可能会有所不同。
我知道这不是一个完整的解决方案,但我希望它能有所帮助,我可以解释一下自己。
https://stackoverflow.com/questions/36742228
复制相似问题