Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

. Given an array of 2n integers, your task is to group these integers into n pai

ID: 3749201 • Letter: #

Question

. Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.

Example 1:

Input: [1,4,3,2]

Output: 4

Explanation: n is 2, and the maximum sum of pairs is 4 = min(1, 2) + min(3, 4).

import java.util.Arrays;

public class ArrayPartition1 {
public int arrayPairSum(int[] nums) {
Arrays.sort(nums);
int sum = 0;
for(int i = 0 ; i < nums.length-1; i= i+2){
sum = sum+ Math.min(nums[i],nums[i+1]);
}
return sum;
}

public static void main(String[] args){
int arr[]= {1,4,3,2};
SYstem.out.println(arrayPairSum(nums));

}
}

I have this solution..but not working

Explanation / Answer

Solution:

import java.util.Arrays;

public class ArrayPartition1 {
    /*
        Solution: First sort the input array, then pair up elements next to each other that way we dont
        loose much to Math.min() between pair
     */
    public static int arrayPairSum(int[] nums) {
        Arrays.sort(nums);
        int sum = 0;
        for(int i = 0 ; i < nums.length-1; i= i+2){
            sum = sum+ Math.min(nums[i],nums[i+1]);
        }
        return sum;
    }
  
    public static void main(String[] args){
       int arr[]= {1,4,3,2,6};
       System.out.println(arrayPairSum(arr));

       }
}

Sample Run:

4

Note: If you have any doubt please do comment below before giving any negative feedback. if you liked the solution then don't forget to hit the thumbs up.