How to resolve the algorithm Greatest subsequential sum step by step in the 11l programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Greatest subsequential sum step by step in the 11l programming language
Table of Contents
Problem Statement
Given a sequence of integers, find a continuous subsequence which maximizes the sum of its elements, that is, the elements of no other single subsequence add up to a value larger than this one.
An empty subsequence is considered to have the sum of 0; thus if all elements are negative, the result must be the empty sequence.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Greatest subsequential sum step by step in the 11l programming language
Source code in the 11l programming language
F maxsumseq(sequence)
V (start, end, sum_start) = (-1, -1, -1)
V (maxsum_, sum_) = (0, 0)
L(x) sequence
sum_ += x
I maxsum_ < sum_
maxsum_ = sum_
(start, end) = (sum_start, L.index)
E I sum_ < 0
sum_ = 0
sum_start = L.index
assert(maxsum_ == sum(sequence[start + 1 .. end]))
R sequence[start + 1 .. end]
print(maxsumseq([-1, 2, -1]))
print(maxsumseq([-1, 2, -1, 3, -1]))
print(maxsumseq([-1, 1, 2, -5, -6]))
print(maxsumseq([-1, -2, 3, 5, 6, -2, -1, 4, -4, 2, -1]))
You may also check:How to resolve the algorithm Higher-order functions step by step in the Nanoquery programming language
You may also check:How to resolve the algorithm Draw a sphere step by step in the J programming language
You may also check:How to resolve the algorithm Order two numerical lists step by step in the Rascal programming language
You may also check:How to resolve the algorithm Sorting algorithms/Insertion sort step by step in the Euphoria programming language
You may also check:How to resolve the algorithm Successive prime differences step by step in the D programming language