Skip to content

Commit 1d8c8ae

Browse files
committed
3sum solution
1 parent b5e773a commit 1d8c8ae

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

3sum/yuhyeon99.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number[][]}
4+
*/
5+
var threeSum = function(nums) {
6+
var answer = new Set();
7+
nums.sort((a, b) => a - b);
8+
9+
for(let i = 0; i < nums.length - 2; i ++) {
10+
if (i > 0 && nums[i] === nums[i - 1]) continue;
11+
12+
let usedNumSet = new Set();
13+
for(let j = i + 1; j < nums.length; j ++) {
14+
let target = -(nums[i] + nums[j]);
15+
16+
if(usedNumSet.has(target)) {
17+
let triplets = [nums[i], nums[j], target].sort((a, b) => a - b);
18+
answer.add(triplets.join(','));
19+
}
20+
21+
usedNumSet.add(nums[j]);
22+
}
23+
}
24+
25+
return [...answer].map(e => e.split(',').map(Number));
26+
};

0 commit comments

Comments
 (0)