Un pangram est une phrase ou un extrait qui contient les vingt-six lettres de l'alphabet, comme le démontre ce défi de golf de code . Cependant, une fenêtre pangrammatique est un pangram sous la forme d'un segment de texte, qui peut se terminer ou commencer à mi-chemin d'un mot, trouvé quelque part dans une œuvre plus grande. Celles-ci se produisent naturellement partout, étant des sous-ensembles appropriés de vrais pangrammes, donc vérifier simplement si quelque chose contient une fenêtre pangrammatique serait ennuyeux et cela a déjà été fait auparavant.
Donc, nous sommes intéressés à trouver le plus petit dans un morceau de texte donné en fonction de sa longueur de lettre! Dans le code le plus court possible en octets, bien sûr, pour s'adapter au thème.
Règles et directives
- Recevez une chaîne en entrée et renvoyez la chaîne de la plus petite fenêtre pangrammatique dans l'entrée s'il y en a une. Si ce n'est pas le cas, renvoyez un booléen faux ou une chaîne vide.
- Qu'une chaîne soit ou non une fenêtre pangrammatique est insensible à la casse et ne dépend que des 26 lettres, pas de la ponctuation ou des nombres ou d'autres symboles impairs.
- De même, la longueur des lettres d' une fenêtre pangrammatique est le nombre total d'apparitions de lettres qui s'y trouvent seules, et pas simplement le nombre de chaque caractère. La valeur retournée doit être la plus petite en fonction de ce nombre. Nous sommes des linguistes, après tout, pas des programmeurs.
- Une sortie d'une fenêtre pangrammatique doit cependant être une sous-chaîne exacte de l'entrée, contenant les mêmes majuscules et ponctuation, etc.
- S'il existe plusieurs fenêtres pangrammatiques les plus courtes de la même longueur de lettre, renvoyez l'une d'entre elles.
Cas de test
'This isn't a pangram.'
==> False
'Everyone knows about that infamous Quick-Brown-Fox (the one who jumped over some lazy ignoramus of a dog so many years ago).'
==> 'Quick-Brown-Fox (the one who jumped over some lazy ig'
'"The five boxing wizards jump quickly." stated Johnny, before beginning to recite the alphabet with a bunch of semicolons in the middle. "ABCDEFGHI;;;;;;;;;;;;;;;JKLMNOPQRSTUVWXYZ!" he shouted to the heavens.'
==> 'ABCDEFGHI;;;;;;;;;;;;;;;JKLMNOPQRSTUVWXYZ'
Q
? Cela n'ajoute rien au nombre de lettres.
The five boxing wizards jump quickly
retourné?