我已经考虑了很久但是无法弄明白。我正在寻找一种算法(用任何语言),通过以下这两条规则对一群人进行分组:
每组最多可以有4个人(如果可能)或3个人,例如如果有18个人,那么他们被分为3组,每组4个,每组3个。
示例数据(技能级别跟国家/地区):
..分为2组4s和2组3s
如果您有任何想法,请帮忙吗? 提前谢谢你
答案 0 :(得分:1)
我建议如下。
首先,按国家/地区和技能级别汇总数据,因此数据看起来更像:
US 5 4
GB 6 3
. . .
按照排名最高的排名对此进行排序。
然后使用贪心算法。
它定义了第一组。
然后重复。
这不能保证是最佳的。但话说回来,没有为问题定义最优性。哪个更重要?国家多样性或技能相同?