给定一个已排序的整数数组 a,找到这样一个整数 x,它的值是
abs(a[0] - x) + abs(a[1] - x) + ... + abs(a[a.length - 1] - x) 是可能的最小值(这里 abs 表示绝对值)。如果有多个可能的答案,则输出最小的一个。
例子
对于 a = [2, 4, 7],输出应为 absoluteValuesSumMinimization(a) = 4。
我能够通过蛮力解决这个问题,但后来我发现了这个
function absoluteValuesSumMinimization(A) {
return A[Math.ceil(A.length/2)-1];
}
Run Code Online (Sandbox Code Playgroud)
希望了解这是如何/为什么起作用的。