我有这个问题,2套A = {a1,a2,...,an}和B = {b1,b2,...,bn},我需要置换他们的元素,以便他们的差异平方sum(a1-b1)^ 2 +(a2-b2)^ 2 + ... +(an-bn)^ 2是最大值。
似乎简单,贪婪的方法,我会排序A并反向排序B,还有它吗?我缺少一些技巧?
答案 0 :(得分:0)
不,听起来很直接,这里有一些伪代码可以帮助你:
l1: list ordered least to greatest
l2: list ordered greatest to least
sum = 0
for i in 0...l1.length:
sum += (l1[i] - l2[i])^2
return sum
运行时应该使用您使用的排序算法,因此可能O(nlogn)