Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @param {number[]} nums
- * @return {number[][]}
- */
- var threeSum = function(nums) {
- nums = nums.sort()
- const solutions = {}
- for (let i = 0; i < nums.length; i++) {
- const encountered = new Set()
- for (let j = i + 1; j < nums.length; j++) {
- const valueToFind = -nums[i] - nums[j]
- if (encountered.has(valueToFind)) {
- if (!(nums[i] in solutions)) {
- solutions[nums[i]] = new Set()
- }
- solutions[nums[i]].add(nums[j])
- }
- encountered.add(nums[j])
- }
- }
- const ret = []
- for (const aStr in solutions) {
- const a = +aStr
- for (const b of solutions[aStr]) {
- const c = 0 - a - b
- ret.push([a, b, c])
- }
- }
- return ret
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement