Podciąg a fragment

Najdłuższy podciąg rosnący i inne własności podciągów - Informatyka - liceum klasa 3, zakres rozszerzony (Python)

**Podciąg** powstaje przez skreślenie dowolnych elementów ciągu (kolejność zostaje, przerwy są dozwolone), **fragment** (podciąg spójny) to kolejne elementy bez przerw. W ciągu `5, 1, 4, 2, 3` najdłuższy fragment rosnący ma 2 elementy, a najdłuższy podciąg rosnący 3: `1, 2, 3`. Program sprawdza, czy jedna lista jest podciągiem drugiej: idzie po dłuższej i przesuwa wskaźnik w krótszej przy każdym trafieniu.

def is_subsequence(small, big):
    k = 0
    for x in big:
        if k < len(small) and small[k] == x:
            k += 1
    return k == len(small)

print(is_subsequence([1, 2, 3], [5, 1, 4, 2, 3]))
print(is_subsequence([4, 1], [5, 1, 4, 2, 3]))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Informatyka - liceum klasa 3, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.