Serie i największa suma fragmentu
Powtórzenie: podciągi, ONP i struktury danych - Informatyka - liceum klasa 4, zakres rozszerzony (Python)
Przypomnienie: najdłuższą serię rosnącą znajduje jeden przebieg z licznikiem bieżącej serii. Największą sumę spójnego fragmentu daje **algorytm Kadane**: najlepsza suma kończąca się na danym elemencie to ten element albo element plus najlepsza suma kończąca się na poprzednim.
data = [3, -4, 5, 2, -1, 6, -8, 4]
best_sum = current = data[0]
for x in data[1:]:
current = max(x, current + x)
best_sum = max(best_sum, current)
print("największa suma:", best_sum)
run = best_run = 1
for i in range(1, len(data)):
run = run + 1 if data[i] > data[i - 1] else 1
best_run = max(best_run, run)
print("najdłuższa seria rosnąca:", best_run)Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - liceum klasa 4, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.