我有 10 名玩家的列表,每个玩家都有各自的技能得分。我尝试将他们分成 2 队,每队 5 人,每队的总技能得分尽可能接近。
迭代每个组合显然效率不高,因为会出现相同的团队。
是否有一个 python 库或函数可以有效地解决这个问题,或者至少可以迭代正确的组合?
迭代超过 10 次!如果这是最简单的答案,组合也不算太糟糕。
最佳答案
虽然不是完美的解决方案,但您能否获取平均玩家技能并根据该平均值对 n 个玩家进行排名。
然后根据这些值,使用一些启发式方法来尝试“平衡”两支球队的这些球员。 简单的例子就是像这样分配团队(排名最高 = 10,排名最低 = 1)
团队 1 = 10 7 6 3 1
团队 2 = 9 8 5 4 2
再说一次,虽然不完美,但比 10 便宜得多!搜索。
关于python 迭代团队组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46536979/