min max

by Igor Cuckovic

JavaScript

function minimumSum(values, n) {
    var asc = values.sort(function (a, b) {
        return a - b;
    });
    var result = 0;

    for (var i = 0; i < n; i += 1) {
        result += asc[i];
    }
    
    if (n > values.length) {
        return values.length;
    }
    return ((values === []) || (n === 0)) ? 0 : result;
}

function maximumSum(values, n) {
    var desc = values.sort(function (a, b) {
        return b - a;
    });
    var result = 0;

    for (var i = 0; i < n; i += 1) {
        result += desc[i];
    }
    
    if (n > values.length) {
        return values.length;
    }    
    
    return ((values === []) || (n === 0)) ? 0 : result;
}


var values = [5, 4, 3, 2, 1];
console.log(minimumSum(values, 10)); // should return 1+2 = 3
console.log(maximumSum(values, 3)); // should return 3+4+5 = 12