Mini-Max Sum Hacker Rank Problem Solution

Mini-Max Sum Hacker Rank Problem Solution

In this HackerRank Mini-Max Sum problem solution Given five positive integers, find the minimum and maximum values that can be calculated by summing exactly four of the five integers. Then print the respective minimum and maximum values as a single line of two space-separated long integers.

Example

arr = [1,3,5,7,9]

The minimum sum is 1+3+5+7 = 16 and the maximum sum is 3+5+7+9 = 24. The function prints

16 24

Function Description

Complete the miniMaxSum function in the editor below.

miniMaxSum has the following parameter(s):

arr: an array of  integers

Print

Print two space-separated integers on one line: the minimum sum and the maximum sum of  of  elements.

Input Format

A single line of five space-separated integers.

Constraints

1 <= arr[i] <= 10^9

Output Format

Print two space-separated long integers denoting the respective minimum and maximum values that can be calculated by summing exactly four of the five integers. (The output can be greater than a 32 bit integer.)

Mini-Max Sum Hacker Rank Problem Solution in C++

void miniMaxSum(vector<int> arr) {
    long long int min_sum=0,max_sum=0;
    
    //sorting the array
    sort(arr.begin(),arr.end());
    
    for(int i=0;i<4;i++)
    {
        min_sum+=arr[i];
    }
    
    max_sum= (min_sum+arr[4]) - arr[0];
    
    cout<<min_sum<<" "<<max_sum;
}

Problem Solution in Java:

public static void miniMaxSum(List<Integer> arr) {
List<Integer> input = new ArrayList<>(arr);
Long min = 0L;
Long max = 0L;

Collections.sort(input, Collections.reverseOrder());
for (int i = 1; i < input.size(); i++) {
min += input.get(i).longValue();
}

for (int i = 0; i < input.size()-1; i++) {
max += input.get(i).longValue();
}

System.out.println(min.toString() + ' ' + max.toString());
}

Problem Solution in Python:

def miniMaxSum(arr):
    asc_lst = sorted(list(arr))
    min_sum = sum(asc_lst[0:4])
    max_sum = sum(asc_lst[5:0:-1])
    print(min_sum, max_sum)