1
var minAbsoluteSumDiff = function (nums1, nums2) {3
const n = nums1.length;8
for (let i = 0; i < n; i++) {10
const num2 = nums2[i];12
const currDiff = Math.abs(num1 - num2);14
origDiffs[i] = currDiff;18
nums1.sort((a, b) => a - b);20
let minDiffSum = diffSum;22
for (let i = 0; i < n; i++) {23
const origDiff = origDiffs[i];25
const num2 = nums2[i];30
let bestDiff = origDiff;32
while (left <= right) {33
const mid = (left + right) >> 1;34
const num1 = nums1[mid];36
const candDiff = num1 - num2;38
if (Math.abs(candDiff) < bestDiff) {39
bestDiff = Math.abs(candDiff);40
if (bestDiff === 0) break;43
if (candDiff < 0) left = mid + 1;47
const replacedDiffSum = diffSum - origDiff + bestDiff;49
minDiffSum = Math.min(minDiffSum, replacedDiffSum);52
return minDiffSum % MOD;