Adloun

Tous distincts ?

Exercice · informatique (tronc commun des prépas scientifiques), chapitre 3 — Boucles imbriquées et complexité quadratique

Énoncé

Écrire une fonction tous_distincts(t) déterminant si tous les éléments de la liste t sont uniques, à l'aide d'une double boucle. Donner sa preuve de correction, sa complexité et la comparer avec la version utilisant un dictionnaire.

Corrigé

def tous_distincts(t: list) -> bool:
    for i in range(len(t)):
        for j in range(i + 1, len(t)):
            # Invariant : aucun couple d'indices distincts visité avant (i, j) n'a de valeurs égales
            if t[i] == t[j]:
                return False
    return True

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.