3Sum Closest LeetCode solution in JavaScript

1
/**
2
* @param {number[]} nums
3
* @param {number} target
4
* @return {number}
5
*/
6
var threeSumClosest = function (nums, target) {
7
// TC : O(n^2)
8
const n = nums.length;
9
nums.sort((x, y) => x - y);
10
var result = nums[1] + nums[0] + nums[2];
11

12
for (var i = 0; i < n - 1; i++) {
13
var low = i + 1;
14
var high = n - 1;
15

16
while (low < high) {
17
var sum = nums[i] + nums[low] + nums[high];
18

19
if (target == sum) return sum;
20

21
if (Math.abs(sum - target) < Math.abs(result - target)) {
22
result = sum;
23
}
24

25
if (sum > target) high -= 1;
26
else low += 1;
27
}
28
}
29
return result;
30
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0