Skip to content

Commit c7bdfd9

Browse files
authored
Create 1818-minimum-absolute-sum-difference.js
1 parent 90ee18e commit c7bdfd9

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {number[]} nums1
3+
* @param {number[]} nums2
4+
* @return {number}
5+
*/
6+
const minAbsoluteSumDiff = function(nums1, nums2) {
7+
let sum = 0, lgDiff = -Infinity, idx = -1
8+
const mod = 10 ** 9 + 7
9+
const n = nums1.length, { min, max, abs } = Math
10+
for(let i = 0; i < n; i++) {
11+
let tmp = abs(nums1[i] - nums2[i])
12+
if(tmp > lgDiff) lgDiff = tmp, idx = i
13+
sum = (sum + tmp) % mod
14+
}
15+
16+
let res = sum, delta = lgDiff, t = Infinity
17+
for(let i = 0; i < n; i++) {
18+
if(i !== idx) {
19+
const t1 = abs(nums1[i] - nums2[idx])
20+
// const t2 = abs(nums2[i] - nums1[idx])
21+
const tmp = min(t1, lgDiff)
22+
if(tmp < t) t = tmp
23+
}
24+
}
25+
// console.log(sum, lgDiff, idx, t)
26+
return (sum - lgDiff + t) % mod
27+
28+
};

0 commit comments

Comments
 (0)