À partir d'une chaîne en tant qu'entrée, trouvez la plus longue sous-chaîne contiguë ne comportant aucun caractère deux fois ou plus. S'il existe plusieurs sous-chaînes de ce type, vous pouvez générer l'un ou l'autre. Vous pouvez supposer que l’entrée se situe sur la plage imprimable ASCII si vous le souhaitez.
Notation
Les réponses seront d'abord classées en fonction de la longueur de leur plus longue sous-chaîne non répétée, puis de leur longueur totale. Des scores plus bas seront meilleurs pour les deux critères. En fonction de la langue, cela ressemblera probablement à un défi de code-golf avec une restriction de source.
Banalité
Obtenir des notes de 1, x (lenguage) ou 2, x (Brain-flak et autres tarpits) est assez facile dans certaines langues , mais il existe d’autres langues dans lesquelles réduire au minimum la plus longue sous-chaîne non répétitive est un défi. J'ai eu beaucoup de plaisir à obtenir un score de 2 à Haskell, je vous encourage donc à rechercher des langues où cette tâche est amusante.
Cas de test
"Good morning, Green orb!" -> "ing, Gre"
"fffffffffff" -> "f"
"oiiiiioiiii" -> "io", "oi"
"1234567890" -> "1234567890"
"11122324455" -> "324"
Soumission de scoring
Vous pouvez évaluer vos programmes en utilisant l'extrait suivant:
11122
se produit après 324
, mais se dédupliquer 12
.
11122324455
Jonathan Allan s'est rendu compte que ma première révision ne le traitait pas correctement.