Objectif:
Étant donné un tableau de chaînes, créez des versions abrégées de chaque chaîne.
Spécification:
Pour ce défi, une abréviation correspond aux N premiers caractères d'une chaîne. Pour la chaîne abc: a, abet abcsont toutes les abréviations valides, alors que bc, et acne sont pas.
Étant donné un tableau de chaînes, nous voulons trouver l'ensemble d'abréviations le plus court, de sorte que, compte tenu de l'entrée et de toute abréviation, vous puissiez déterminer à quel élément de l'entrée à laquelle l'abréviation faisait référence.
Exemple:
Contribution: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
Nous travaillons notre chemin à travers les cordes en commençant par la première.
Lundi est uniquement la chaîne d'élément avec un
M, donc l'abréviation la plus courte possible estM.Mardi commence par
T, mais jeudi aussi. Cela signifie que nous essayons la chaîneTU. Comme aucune autre chaîne ne commence par cela, nous l'utilisonsTU.Mercredi est
W, jeudi estThet vendredi estF.
Plus d'exemples:
Input: "one,two,three,four,five,six,seven"
Output: "o,tw,th,fo,fi,si,se"
Input: "red,orange,yellow,green,blue,purple"
Output: "r,o,y,g,b,p"
Input: "a,ab,abc"
Output: Not valid! No abbreviation for `a` that doesn't apply to the other items.
Remarques:
Vous effectuez des entrées et des sorties d'une manière raisonnable.
Vous pouvez supposer que l'entrée sera toujours un tableau valide de chaînes.
Vous pouvez supposer qu'il y aura toujours une solution, contrairement au dernier cas de test.
Les chaînes seront uniquement constituées de caractères ASCII imprimables (ou des caractères imprimables de votre codage)
C'est du golf de code, donc moins d'octets gagnent!
Upour mardi, mais une minuscule hpour jeudi.