我遇到了波兰奥林匹克运动会的问题:
每个数组a1,a2,a3 ... a4
都有它的无序系数K,它等于|a[1]-a[2]| + |a[2]- a[3]| + |a[3]-a[4]| ... |a[n-1] -a[n]|
。对于每个元素,我们应该计算通过用数组的任何其他元素切换位置可以获得的最小K.
示例:给定数组7 4 5 2 5
。
这个数组的初始无序系数是
10 = |7-4|+|4-5|+|5-2|+|2-5|
第1个元素的最小紊乱系数是在用第4个元素交换后获得的|2-4|+|4-5|+|5-7|+|7-5| = 7
。我们需要为数组的所有元素计算这个。复杂性应该是O(nlogN)。
答案 0 :(得分:0)
只需对数组进行排序,并为此有序数组计算无效系数。它是数组的MDC。
工作原理。 你需要将差异最小的元素放在一起。排序将给出这个结果。
同样试图证明这个理论:)明天会更新。