一组数中求n个数和的绝对值最小 的算法

来源:百度知道 编辑:UC知道 时间:2024/05/17 05:34:12
如10,25,-8,-10,9中求3个数的最小的和的绝对值

|10 + -10 + -8| = 8
你的是没错。
但我要知道知道的是这种算法啊。
通用的公式

应该是:|25+(-8)+(-10)|=7

【补充】
如果正负性都相同,就取绝对值最小的3个数字即可;
如果即有正数也有负数,分成正负两组,

先循环依次取两个正数的和(如a+b=c),对每个结果c继续判断与其绝对值最接近的两个负数(如|d|<c和|e|>c)分别相加的和(如c+d,c+e),取其中绝对值最小的。

再依次取两个负数的和,用相同的方法。

全部遍历之后得到最小的绝对值。