我需要根据历史数据均匀分配一组数据,以便每个数字在时间的每个位置上都出现相等(或接近相等)次数。问题是,给定过去使用的订购列表,看起来像这样(但可能有任意数量的元素):
1,2,5,3,4
4,1,5,2,3
1,3,5,2,4
4,1,2,3,5
2,4,1,3,5
5,1,4,3,2
1,5,3,2,4
5,1,3,2,4
3,2,5,4,1
4,3,1,5,2
我该如何找到使用最少且会导致“更平衡”排序集合的值的排序方式。显而易见的答案是通过分组并计数,选择最少使用的一种,但问题在于最少使用的排列可能从未被使用过,例如,在这里,“1,2,3,4,5”的排序是最少使用的候选,因为它根本没有出现过。
简单的答案似乎是确定“1”出现的最频繁的位置,并将该位置设置为“1”,然后对每个数字依此类推。我认为这样可以解决问题,但我觉得还有一个更优雅的解决方案,即通过交叉连接来考虑所有可能的组合。
有什么想法吗?