【发布时间】:2013-02-19 05:28:22
【问题描述】:
我有 3 支球队,他们有 2 名球员、3 名球员和 7 名球员。 有 18 名球员坐在场边等待分配。
每个玩家都有自己的技能等级,这意味着 1 级不会击败 10 级。
我想将球队平衡为每队 10 名球员。我想尽量让所有 3 支球队的技术水平相同。但我不想移除团队中已有的玩家。
但我不确定我将如何实现这一点。 我也不确定是否有一个简单的答案,或者计算成本是否很高。
技能等级是我已有的数字。 所有球队都有相同数量的球员。这意味着技能水平是唯一变化的数字。
一个例子是。 第 1 队有 3 名球员,总技能水平为 4。 第 2 队有 6 名球员,总技能水平为 8。 第 3 队有 8 名队员,总技能等级为 9。
我有 13 名球员需要被分配,所以每支球队有 10 名球员。 我想尝试匹配总技能水平。
【问题讨论】:
-
在我看来,这更像是一个数学/算法问题,而不是特定于 Java 的问题。
-
听起来像是垃圾箱包装/背包问题。
-
这是一个数学线性方程。指定目标函数并求解!
-
编辑它以纠正我的错误。主要是误导标签
-
你说的那些技能等级大概是一些人为的数字,除了比较单人玩家之外没有别的意义。他们可能在团队比赛中几乎一文不值。任何带有这些数字的数学运算就更没有意义了。