4.1 KiB
4.1 KiB
title | id | localeTitle | challengeType |
---|---|---|---|
Greatest subsequential sum | 5a23c84252665b21eecc7e84 | 5a23c84252665b21eecc7e84 | 5 |
Description
Instructions
Tests
tests:
- text: <code>maximumSubsequence</code> debería ser una función.
testString: 'assert(typeof maximumSubsequence=="function","<code>maximumSubsequence</code> should be a function.");'
- text: <code>maximumSubsequence("+JSON.stringify(tests[0])+")</code> debe devolver una matriz.
testString: 'assert(Array.isArray(maximumSubsequence(tests[0])),"<code>maximumSubsequence("+JSON.stringify(tests[0])+")</code> should return an array.");'
- text: <code>maximumSubsequence("+JSON.stringify(tests[0])+")</code> debe devolver <code>"+JSON.stringify(results[0])+"</code> .
testString: 'assert.deepEqual(maximumSubsequence(tests[0]),results[0],"<code>maximumSubsequence("+JSON.stringify(tests[0])+")</code> should return <code>"+JSON.stringify(results[0])+"</code>.");'
- text: <code>maximumSubsequence("+JSON.stringify(tests[1])+")</code> debe devolver <code>"+JSON.stringify(results[1])+"</code> .
testString: 'assert.deepEqual(maximumSubsequence(tests[1]),results[1],"<code>maximumSubsequence("+JSON.stringify(tests[1])+")</code> should return <code>"+JSON.stringify(results[1])+"</code>.");'
- text: <code>maximumSubsequence("+JSON.stringify(tests[2])+")</code> debe devolver <code>"+JSON.stringify(results[2])+"</code> .
testString: 'assert.deepEqual(maximumSubsequence(tests[2]),results[2],"<code>maximumSubsequence("+JSON.stringify(tests[2])+")</code> should return <code>"+JSON.stringify(results[2])+"</code>.");'
- text: <code>maximumSubsequence("+JSON.stringify(tests[3])+")</code> debe devolver <code>"+JSON.stringify(results[3])+"</code> .
testString: 'assert.deepEqual(maximumSubsequence(tests[3]),results[3],"<code>maximumSubsequence("+JSON.stringify(tests[3])+")</code> should return <code>"+JSON.stringify(results[3])+"</code>.");'
- text: <code>maximumSubsequence("+JSON.stringify(tests[4])+")</code> debe devolver <code>"+JSON.stringify(results[4])+"</code> .
testString: 'assert.deepEqual(maximumSubsequence(tests[4]),results[4],"<code>maximumSubsequence("+JSON.stringify(tests[4])+")</code> should return <code>"+JSON.stringify(results[4])+"</code>.");'
- text: <code>maximumSubsequence("+JSON.stringify(tests[5])+")</code> debe devolver <code>"+JSON.stringify(results[5])+"</code> .
testString: 'assert.deepEqual(maximumSubsequence(tests[5]),results[5],"<code>maximumSubsequence("+JSON.stringify(tests[5])+")</code> should return <code>"+JSON.stringify(results[5])+"</code>.");'
Challenge Seed
function maximumSubsequence (population) {
// Good luck!
}
After Test
console.info('after the test');
Solution
function maximumSubsequence(population) {
function sumValues(arr) {
var result = 0;
for (var i = 0, len = arr.length; i < len; i++) {
result += arr[i];
}
return result;
}
var greatest;
var maxValue = 0;
var subsequence = [];
for (var i = 0, len = population.length; i < len; i++) {
for (var j = i; j <= len; j++) {
var subsequence = population.slice(i, j);
var value = sumValues(subsequence);
if (value > maxValue) {
maxValue = value;
greatest = subsequence;
};
}
}
return greatest;
}