Algorithm - Contiguous Subarray Largest Sum
Find the longest contiguous subarray with the largest sum.
HTML
<article>
<form>
<p>
<input type="text" value="-6,-5,0,3,4,-7,0,1"/>
<input type="submit" value="Go"/>
</p>
</form>
<p id="out">
</p>
</article>
JavaScript
$("form").submit(function(e) {
e.preventDefault();
var a = eval("["+$(this).find("input[type=text]").val()+"]");
var contender = { largestSum = a[0],
low = 0,
high = 0 };
SeqRecursion(a, a.length(), contender)
$("#out").text(contender.largestSum + ' at ' + contender.low + ', ' + contender.high);
});
function void SeqRecursion(seq, len, contender)
{
int sum = 0;
for (int i = 0; i < seq.length(); i++)
{
for (int x = 0; x < len; x++)
{
sum += seq[x+i];
}
if (sum > contender.sum)
{
contender.sum = sum;
contender.start = i;
contender.end = i + len;
}
if ( i + 1 + len > seq.length() )
{
exit for;
{
}
SeqRecursion(seq, len - 1, contender)
}