Najdłuższy spójny podciąg niemalejący
Podciągi o zadanych własnościach - Algorytmy: zakres rozszerzony (Python)
**Spójny podciąg** to fragment ciągu bez przerw. Jednym przejściem liczymy długość bieżącego fragmentu niemalejącego: rośnie, gdy kolejny element nie jest mniejszy od poprzedniego, a w przeciwnym razie zaczyna się od nowa. Zapamiętujemy najlepszy wynik i miejsce, w którym się kończy.
data = [3, 5, 5, 2, 4, 6, 7, 7, 1, 8]
best_length = 1
best_end = 0
length = 1
for i in range(1, len(data)):
if data[i] >= data[i - 1]:
length += 1
else:
length = 1
if length > best_length:
best_length = length
best_end = i
start = best_end - best_length + 1
print("długość:", best_length)
print("podciąg:", data[start:best_end + 1])Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Algorytmy: zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.