Skip to content

Commit f1ac02a

Browse files
committed
Create 16.最接近的三数之和.js
1 parent 589eb10 commit f1ac02a

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

16.最接近的三数之和.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number}
5+
*/
6+
var threeSumClosest = function(nums, target) {
7+
nums.sort((a, b) => a - b);
8+
9+
let result = Number.MAX_SAFE_INTEGER;
10+
for (let i = 0; i < nums.length - 2; i++) {
11+
let a = i + 1;
12+
let b = nums.length - 1;
13+
while (a < b) {
14+
const sum = nums[a] + nums[b] + nums[i];
15+
if (Math.abs(target - sum) < Math.abs(target - result)) {
16+
result = sum;
17+
}
18+
if (sum < target) {
19+
a++;
20+
} else if (sum > target) {
21+
b--;
22+
} else {
23+
return target;
24+
}
25+
}
26+
}
27+
28+
return result;
29+
};
30+
31+
console.log(threeSumClosest([-1,2,1,-4], 1));

0 commit comments

Comments
 (0)