Premier doublon (python)
Premier index où un caractère a déjà été vu.
Énoncé
Sur la chaîne minuscule suivante, trouvez le plus petit indice i (0-based) tel que le caractère s[i] ait déjà apparu à une position j < i. Si aucun, affichez -1.
unxfcbdalayf
Entrée : cette ligne.
Sortie : une ligne, l’entier i ou -1.
Contraintes réelles
- Entrée : une seule ligne sur stdin (format indiqué ci-dessus), sans espaces superflus en fin de ligne.
- Sortie : une seule ligne sur stdout, exactement la valeur demandée (pas de texte d’explication).
- python : bibliothèque standard uniquement ; pas d’accès réseau ni de fichiers autres que stdin/stdout.
- Complexité : respecter la borne indiquée dans l’énoncé (souvent O(n) ou O(n²) pour n ≤ 16).
Parcours pédagogique
- Piste : Chaînes ASCII (
serie-l-chaines) — étape 2 sur cette famille. - Objectif : Trouver l’index du premier caractère dupliqué (0-based) ou −1.
- Indice global : numéro de défi 5244 / 10000 (famille 19/25, variante 210 / 400).
Indices
- Parsez stdin en types exacts (entier 64 bits signé si nécessaire).
- Testez sur papier avec les petites valeurs du gabarit.
- Vérifiez les cas limites mentionnés.
Solution possible
- Parcourir avec une table fréquence / dernière position, ou ensemble des vus.
Pseudo-code (python)
# lire la ligne stdin → variables
# appliquer l’algorithme décrit
# print(resultat) # une ligne
Résultat de référence (tests automatisés)
La CI exécute la même logique que ce dépôt sur votre variante : la sortie attendue est exactement :
9
Référence (tests automatisés) : 9
Proposer une solution
Connectez-vous ou créez un compte pour envoyer votre texte (aucune exécution de code côté serveur).