资料来源:谷歌面试问题
编写一个例程以确保输入中的相同元素最大程度地分布在输出中?
基本上,我们需要以这样的方式放置相同的元素,以使TOTAL传播尽可能最大。
例子:
Input: {1,1,2,3,2,3}
Possible Output: {1,2,3,1,2,3}
Total dispersion = Difference between position of 1's + 2's + 3's = 4-1 + 5-2 + 6-3 = 9 .
我完全不确定,是否有可用的最佳多项式时间算法。此外,除此之外,没有 提供任何其他细节。
我的想法是,计算输入中每个元素的频率,然后将它们排列在输出中,一次每个不同的元素,直到所有频率都用完。
我不确定我的方法。
任何方法/想法的人。