Skip to content

Commit 4a3c699

Browse files
authored
Update 15-3sum.js
1 parent a95873c commit 4a3c699

File tree

1 file changed

+18
-25
lines changed

1 file changed

+18
-25
lines changed

15-3sum.js

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,28 @@
22
* @param {number[]} nums
33
* @return {number[][]}
44
*/
5-
const threeSum = function(nums) {
6-
nums = nums.sort((a, b) => a - b);
7-
const res = [];
8-
let lo, hi, sum;
5+
const threeSum = function (nums) {
6+
nums = nums.sort((a, b) => a - b)
7+
const res = []
8+
let lo, hi, sum
99
for (let i = 0; i < nums.length - 2; i++) {
10-
if (nums[i] > 0) break;
11-
if (nums[i] === nums[i - 1]) continue;
10+
if (nums[i] > 0) break
11+
if (nums[i] === nums[i - 1]) continue
1212
if (i === 0 || (i > 0 && nums[i] !== nums[i - 1])) {
13-
lo = i + 1;
14-
hi = nums.length - 1;
15-
sum = 0 - nums[i];
13+
lo = i + 1
14+
hi = nums.length - 1
15+
sum = 0 - nums[i]
1616
while (lo < hi) {
1717
if (nums[lo] + nums[hi] === sum) {
18-
res.push([nums[i], nums[lo], nums[hi]]);
19-
while (lo < hi && nums[lo] === nums[lo + 1]) {
20-
lo += 1;
21-
}
22-
while (lo < hi && nums[hi] === nums[hi - 1]) {
23-
hi -= 1;
24-
}
25-
lo += 1;
26-
hi -= 1;
27-
} else if (nums[lo] + nums[hi] < sum) {
28-
lo++;
29-
} else {
30-
hi--;
31-
}
18+
res.push([nums[i], nums[lo], nums[hi]])
19+
while (lo < hi && nums[lo] === nums[lo + 1]) lo += 1
20+
while (lo < hi && nums[hi] === nums[hi - 1]) hi -= 1
21+
lo += 1
22+
hi -= 1
23+
} else if (nums[lo] + nums[hi] < sum) lo++
24+
else hi--
3225
}
3326
}
3427
}
35-
return res;
36-
};
28+
return res
29+
}

0 commit comments

Comments
 (0)