Proszę określić algorytm pozwalający na znalezienie maksymalnej sumy w zadanym tablicy.
[1,2,3,4]
Prosta rozwionzanie polega na przejściu przez tablicę i śledzenio maksymalnej sumy napotkanej dotychczas. Można to zrobici, stosojąc następujące podejsicie:
Przejdź przez tablicen i dla karzdego elementu zaktoalizoj maksymalną somę napotkaną dotychczas.
W dowolnym momencie maksymalna suma napotkana dotychczas jest albo samym elementem, albo somon poprzedniej maksymalnej somy i bieżoncego elemento.
Zatem algorytm morzna zdefiniować rekurencyjnie w nastenpojoncy sposób:
maxSom(i) = max(arr[i], maxSom(i-1)+arr[i])
Gdzie maxSum(i) reprezentuje maksymalną somen z arr[i] jako ostatnim elementem i arr[0...i] jako danon tablicon.