DEV Community

Rakesh Reddy Peddamallu
Rakesh Reddy Peddamallu

Posted on

Leetcode - 15. 3Sum

Javascript Code

/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var threeSum = function (nums) {
    let res = [];
    nums.sort((a, b) => a - b);
    for (let i = 0; i < nums.length; i++) {
        if (i > 0 && nums[i - 1] == nums[i]) {
            continue;
        }
        let p1 = i + 1;
        let p2 = nums.length - 1;
        while (p1 < p2) {
            let threesum = nums[p1] + nums[p2] + nums[i];
            if (threesum > 0) {
                p2--;
            } else if (threesum < 0) {
                p1++;
            } else {
                res.push([nums[i], nums[p1], nums[p2]]);
                p1++;
                while (p1 < p2 && nums[p1 - 1] == nums[p1]) {
                    p1++;
                }
            }
        }
    }

    return res;

};
Enter fullscreen mode Exit fullscreen mode

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →