Ersetzen Sie bei einer vorgegebenen Liste von Zeichenfolgen jede Zeichenfolge durch eine ihrer nicht leeren Teilzeichenfolgen, die keine Teilzeichenfolge der anderen Zeichenfolgen in der Liste ist und so kurz wie möglich ist.
Beispiel
In Anbetracht der Liste ["hello","hallo","hola"]
, "hello"
sollte nur ersetzt werden , "e"
da diese Teilzeichen nicht enthalten ist in "hallo"
und "hola"
und es ist so kurz wie möglich. "hallo"
ersetzt werden könnte durch entweder "ha"
oder "al"
und "hola"
durch irgendeine "ho"
, "ol"
oder "la"
.
Regeln
- Sie können davon ausgehen, dass die Zeichenfolgen nicht leer sind und nur alphabetische Zeichen derselben Groß- / Kleinschreibung enthalten.
- Sie können davon ausgehen, dass für jede Zeichenfolge in der Liste eine solche Teilzeichenfolge vorhanden ist, dh, keine Zeichenfolge in der Liste ist eine Teilzeichenfolge einer der anderen Zeichenfolgen.
- Eingabe und Ausgabe können in jedem vernünftigen Format erfolgen.
- Das ist Code-Golf , also versuchen Sie, so wenig Bytes wie möglich in der Sprache Ihrer Wahl zu verwenden.
Testfälle
In den meisten Fällen wird nur eine mögliche Ausgabe angegeben.
["ppcg"] -> ["p"] (or ["c"] or ["g"])
["hello","hallo","hola"] -> ["e","ha","ho"]
["abc","bca","bac"] -> ["ab","ca","ba"]
["abc","abd","dbc"] -> ["abc","bd","db"]
["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"]
["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"]
Verwandte Themen : Kürzeste identifizierende Teilzeichenfolge - ähnliche Idee, aber komplexere Regeln und umständliches Format.
""
(leere Zeichenfolge) eindeutig für den Einzelfall zu identifizieren"ppcg"
?