Minimum Sum of Squared Difference LeetCode solution in JavaScript

1
var minSumSquareDiff = function (nums1, nums2, k1, k2) {
2
const len = nums1.length;
3
const diff = new Array(len).fill(0);
4
for (let i = 0; i < len; i++) {
5
diff[i] = Math.abs(nums1[i] - nums2[i]);
6
}
7
diff.sort((a, b) => b - a);
8
const bucket = new Array(diff[0] + 1).fill(0);
9
let tk = k1 + k2;
10
for (let i of diff) {
11
bucket[i]++;
12
}
13
for (let i = bucket.length - 1; tk > 0 && i >= 0; i--) {
14
if (bucket[i] == 0) continue;
15
const reduce = Math.min(bucket[i], tk);
16
bucket[i] -= reduce;
17
bucket[i - 1] += reduce;
18
tk -= reduce;
19
}
20
let ans = 0;
21
for (let i = bucket.length - 1; i >= 1; i--) {
22
ans += bucket[i] * i * i;
23
}
24
return ans;
25
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0