Adloun

Plus longue sous-séquence strictement croissante

Exercice de TD · niveau 3 (difficile) · NSI (terminale), chapitre 7 — La programmation dynamique

Énoncé

Plus longue sous-séquence strictement croissante.

Trouver la longueur de la plus longue sous-séquence strictement croissante d'un tableau d'entiers.

Corrigé

Soit la longueur de la plus longue sous-séquence croissante se terminant à l'indice . On a (ou si aucun tel ).


def plus_longue_croissante(t):
    n = len(t)
    if n == 0:
        return 0
    L = [1] * n
    for i in range(1, n):
        for j in range(i):
            if t[j] < t[i] and L[j] + 1 > L[i]:
                L[i] = L[j] + 1
    return max(L)

La complexité est .

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.