Given an integer array arr and an integer sum_target, return a list of all unique quadruplets [arr[i], arr[j], arr[k], arr[l]] such that: 0 <= i, j, k, l < len(arr), i, j, k, l are distinct, and arr[i] + arr[j] + arr[k] + arr[l] == sum_target. The order of quadruplets in the output does not matter.
Example 1
Input: arr = [3, 1, 4, 2, 5, 0], sum_target = 10
Output: [[1,2,3,4],[0,1,4,5]]
Explanation: Quadruplets [1,2,3,4] and [0,1,4,5] both sum to 10.
Example 2
Input: arr = [-1, -1, -1, -1, 4], sum_target = 1
Output: [[-1,-1,-1,4]]
Explanation: Only quadruplet [-1,-1,-1,4] sums to 1.
Constraints
Case 1
Input: arr = [7, 6, 5, 4, 3, 2, 1], sum_target = 22
Expected: [[4,5,6,7]]
Case 2
Input: arr = [0, 0, 0, 0, 0], sum_target = 0
Expected: [[0,0,0,0]]
Case 3
Input: arr = [10, -10, 20, -20, 0], sum_target = 0
Expected: [[-20,-10,10,20]]
Case 4
Input: arr = [1, 2, 3, 4], sum_target = 15
Expected: []
Case 5
Input: arr = [1000000000, -1000000000, 0, 0, 0], sum_target = 0
Expected: [[-1000000000,0,0,1000000000]]