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
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 7 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
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.