首页 > 代码库 > JS 3sum实现 leetcode

JS 3sum实现 leetcode

/** * @param {number[]} nums * @return {number[][]} */var threeSum = function(nums) {    var result = [];    nums = nums.sort(function(a, b) { return a-b; });    for (var i = 0; i < nums.length; i++) {        var p = i + 1;        var q = nums.length - 1;        if (i > 0 && nums[i] === nums[i - 1]) continue;        while(p < q) {            var sum = nums[i] + nums[p] + nums[q];            if (sum === 0) {                result.push([nums[i], nums[p], nums[q]].sort(function(a, b) { return a-b; }));                while(++p < q && nums[p] === nums[p - 1]) {}                while(--q > p && nums[q] === nums[q + 1]) {}            }            if (sum < 0) {                ++p;            }            if (sum > 0) {                --q;            }        }    }    return result;};

  

JS 3sum实现 leetcode