3Sum

T: O(n²)
Feedback

3Sum

Fix i=0 (value -4), set left=1, right=5.
Sorted array (two pointers)
-4
i
-1
L
-1
2
0
3
1
4
2
R
ileftright
SpeedNormal (500ms)
Parameters

{ array: number[] }

Variables
i0
left1
right5
triplets0
sum-3
1sort(nums) → [-4, -1, -1, 0, 1, 2]
2for i = 0 to n-3: → i = 0 (nums[i]=-4)
3 if i > 0 and nums[i] == nums[i-1]: skip
4 left = i+1, right = n-1 → left = 1, right = 5
5 while left < right:
6 sum = nums[i] + nums[left] + nums[right] = -4+-1+2 = -3
7 if sum == 0: record triplet, move left/right
8 else if sum < 0: left++
9 else: right--
Output
Fix i=0 (value -4), set left=1, right=5.