JS 3sum实现 leetcode
Posted 酱板鸡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode][15]3Sum解析与快速排序算法-Java实现