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