time Varies
space Varies
Target0
-4
[0]
-1
[1]
-1
[2]
0
[3]
1
[4]
2
[5]
Result:[]
Sort the array in ascending order.
Pseudocode
Pseudocode
1function threeSum(nums):
2 sort(nums)
3 results = []
4 for i = 0 to nums.length - 3:
5 if i > 0 and nums[i] == nums[i-1]: continue
6 for j = i + 1 to nums.length - 2:
7 if j > i + 1 and nums[j] == nums[j-1]: continue
8 for k = j + 1 to nums.length - 1:
9 if k > j + 1 and nums[k] == nums[k-1]: continue
10 if nums[i] + nums[j] + nums[k] == 0:
11 results.push([nums[i], nums[j], nums[k]])
12 return results