Adloun

NSI (terminale) · Chapitre 2 · Exercice de TD

Premier élément non répété

Dictionnaires et tables de hachage · niveau 3 (difficile)

Énoncé

Premier élément non répété.

Écrire une fonction qui renvoie le premier caractère d'une chaîne qui n'apparaît qu'une seule fois, ou None s'il n'y en a pas.

Corrigé

Un premier passage compte les occurrences, un second retrouve le premier caractère de compteur égal à . L'ordre d'insertion étant conservé, le parcours respecte l'ordre d'apparition.


def premier_unique(chaine):
    compteurs = {}
    for c in chaine:
        compteurs[c] = compteurs.get(c, 0) + 1
    for c in chaine:
        if compteurs[c] == 1:
            return c
    return None

print(premier_unique("aabbcdd"))  # "c"

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →