susesuse
发表于 2006-11-15 11:06
原帖由 hawk2012 于 2006-11-15 10:56 发表
假设数组a中的所有元素用a1, a2, a3, ..., an表示, 数组b中的为b1,b2,b3,...,bn表示。
那么令result = (a1 + a2 + a3+ ... + an) - (b1 + b2 + b3 + ... + bn)
= (a1 + a2 + a3+ ... + an) ...
所以 result = Sum - 2(b1 + b2 + b3 + ... + bn)
要使 result 为最小,只需要(b1 + b2 + b3 + ... + bn)为最大。
呵呵,没有考虑Sum - 2(b1 + b2 + b3 + ... + bn)可能为负数?
hawk2012
发表于 2006-11-15 11:08
是的, 是这个题目出的有问题,应该说是a b数组和的差的绝对值最小才对,不然我的算法就是最小的。
susesuse
发表于 2006-11-15 11:11
原帖由 hawk2012 于 2006-11-15 11:08 发表
是的, 是这个题目出的有问题,应该说是a b数组和的差的绝对值最小才对,不然我的算法就是最小的。
确实您的想法很有新意,一般人想不到,呵呵。
laowolf
发表于 2006-11-15 11:17
hawk2012的算法是正确滴?........................................你们肯定?
(b1 + b2 + b3 + ... + bn)为最大,那么结果就是最小的n个数减最大的n 个数,这样还能做出差最小..............................................................................................................?
hawk2012
发表于 2006-11-15 11:22
原帖由 laowolf 于 2006-11-15 11:17 发表
hawk2012的算法是正确滴?........................................你们肯定?
(b1 + b2 + b3 + ... + bn)为最大,那么结果就是最小的n个数减最大的n 个数,这样还能做出差最小................................... ...
是负数,当然是最小的。取绝对值是最大。
laowolf
发表于 2006-11-15 11:22
呵呵无语了......
moyan80
发表于 2006-11-15 12:38
O2O2...惊呆菜鸟无数……
cMEr
发表于 2006-11-15 14:06
个人觉得 xmyth 的比较合理些
求得天人惊现,以正视听。
:em11:
dalianpansky
发表于 2006-11-15 14:13
为啥没人评论我的想法呢?唉!
x2
发表于 2006-11-15 15:36
如果要求a-b最小, 将a和b联合成一个数组, 然后从小到大排序不行吗?