Skip to content

Commit 15633d7

Browse files
authored
Update 1685-sum-of-absolute-differences-in-a-sorted-array.js
1 parent 8365b8f commit 15633d7

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

1685-sum-of-absolute-differences-in-a-sorted-array.js

+10-7
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@
33
* @return {number[]}
44
*/
55
const getSumAbsoluteDifferences = function(nums) {
6-
const res = [], n = nums.length
7-
let sum = 0
8-
for(let first = nums[0], i = 1; i < n; i++) {
9-
sum += nums[i] - first
6+
const n = nums.length, { abs } = Math
7+
const res = []
8+
let e0 = 0
9+
for(let i = 1; i < n; i++) {
10+
e0 += abs(nums[i] - nums[0])
1011
}
11-
res[0] = sum
12+
res[0] = e0
1213
for(let i = 1; i < n; i++) {
13-
res[i] = res[i - 1] - (nums[i] - nums[i - 1]) * (n - i - 1) + (nums[i] - nums[i - 1]) * (i - 1)
14+
const pre = res[i - 1], diff = nums[i] - nums[i - 1]
15+
let cur = pre + diff * (i - 1) - diff * (n - 1 - i)
16+
res.push(cur)
1417
}
15-
18+
1619
return res
1720
};

0 commit comments

Comments
 (0)