Algorithm 最大平方差和
我有一个问题,2个集合A={a1,a2,…,an}和B={b1,b2,…,bn},我需要排列它们的元素,使它们的差平方和a1-b1^2+a2-b2^2+…+最大值为-bn^2Algorithm 最大平方差和,algorithm,Algorithm,我有一个问题,2个集合A={a1,a2,…,an}和B={b1,b2,…,bn},我需要排列它们的元素,使它们的差平方和a1-b1^2+a2-b2^2+…+最大值为-bn^2 看起来很简单,贪婪的方法,我会排序A和反向排序B,还有更多吗?我错过了什么把戏 不,听起来很简单,这里有一些伪代码可以帮助您: l1: list ordered least to greatest l2: list ordered greatest to least sum = 0 for i in 0...l1.len
看起来很简单,贪婪的方法,我会排序A和反向排序B,还有更多吗?我错过了什么把戏 不,听起来很简单,这里有一些伪代码可以帮助您:
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
运行时应以您使用的排序算法为界,因此可能Onlogn可以使用重排不等式证明它成立: