Description
Solutions
Array Subsets 🐿️ (Frontend)
🤘 INTERN📚RELATED PROBLEMS
Given an integer array, divide the array into 2 subsets A and B while respecting the following conditions:
Return the subset A in increasing order where the sum of A's elements is greater than the sum of B's elements. If more than one subset exists, return the one with the maximal sum.
Function Description
Complete the function subsetA
in the editor.
subsetA
has the following parameter(s):
int arr[]
: an integer array
Returns
int[]
: an integer array with the values of subset A.
Example 1:
Input: arr = [5, 3, 2, 4, 1, 2]
Output: [4, 5]
Explanation:The subset of A that satisfies the conditions is [4, 5]:A is minimal (size 2) Sum(A) = (4 + 5) = 9 > Sum(B) = (1 + 2 + 2 + 3) = 8 The intersection of A and B is null and their union is equal to arr. The subset A with the maximal sum is [4, 5].
Example 2:
Input: arr = [4, 2, 5, 1, 6]
Output: [5, 6]
Explanation:The subset of A that satisfies the conditions is [5, 6]:A is minimal (size 2) Sum(A) = (5 + 6) = 11 > Sum(B) = (1 + 2 + 4) = 7 Sum(A) = (4 + 6) = 10 > Sum(B) = (1 + 2 + 5) = 8 The intersection of A and B is null and their union is equal to arr. The subset A with the maximal sum is [5, 6].
Constraints:
1 ≤ n ≤ 105
1 ≤ arr[i] ≤ 105
(where0 ≤ i < n
)

Related Problems
Testcase
Result
Case 1
input:
output: