Geben Sie bei Eingabe einer Liste von Wörtern und deren Abkürzungen das Muster aus, nach dem die Abkürzungen gebildet werden können.
Nehmen wir die Beispieleingabe von
potato ptao
puzzle pzze
als Beispiel (dh die Abkürzung für potatoist ptaound die Abkürzung für puzzleist pzze).
Betrachten Sie alle möglichen Möglichkeiten, um ptaovon zu erhalten potato. Eine Möglichkeit besteht darin, den ersten, dritten, vierten und sechsten Buchstaben zu verwenden, auf den wir uns beziehen werden
1346. Aber da tund omehrfach im Wort erscheinen, gibt es mehrere andere Möglichkeiten zur Erzeugung ptaovon potato: 1546, 1342, und 1542.
Beachten Sie in ähnlicher Weise, dass mit jedem von pzzegeneriert puzzlewerden kann1336 ,
1346, 1436, 1446. Das einzige Muster, das diese beiden Abkürzungen gemeinsam haben, ist 1346: Daher muss dies die Ausgabe für diese Eingabe sein. Wenn mehrere mögliche Muster möglich sind, können Sie eines, einige oder alle (mindestens eines) ausgeben.
Sie können davon ausgehen, dass:
Eingabewörter und Abkürzungen enthalten nur Kleinbuchstaben.
Die Eingabe enthält mindestens ein Wort- / Abkürzungspaar.
Es ist möglich, dass jede Abkürzung aus ihrem entsprechenden Wort gebildet wird.
Es wird immer mindestens ein Muster geben, das jede Abkürzung bildet.
Die maximale Länge jedes Wortes beträgt 9 Zeichen.
Die Eingabe kann wie folgt erfolgen:
2-dimensionales Array / Liste / Array von Tupeln / etc.
[[word, abbr], [word, abbr], ...]flaches 1-dimensionales Array / Liste
[word, abbr, word, abbr, ...]Einzelne Zeichenfolge, die durch ein einzelnes Zeichen begrenzt wird, das kein Kleinbuchstabe ist
"word abbr word abbr"Hash / Assoziatives Array / etc.
{word => abbr, word => abbr, ...}
In jeder dieser Eingabemöglichkeiten können Sie auch die Reihenfolge von Wort / Abkürzung tauschen (beschreiben Sie das Eingabeformat in Ihrem Beitrag vollständig).
Die Ausgabe kann als einzelne Zahl, als durch Nicht-Ziffern begrenzte Zeichenfolge oder als Array / Liste / Tupel / usw. erfolgen. von Zahlen.
Da dies Code-Golf ist , wird der kürzeste Code in Bytes gewinnen.
Testfälle (denken Sie daran, dass Sie nur ≥ 1 Ergebnisse ausgeben müssen, wenn mehrere Muster funktionieren):
In Out
--------------------------------------------------------
potato ptao puzzle pzze | 1346
aabbcc abc fddeef def | 246
prgrmming prgmg puzzles pzzlz | 14353
aaaaa a bbbb b ccc c dd d e e | 1
aaaaa a bbbb b ccc c | 1, 2, 3
abcxyz zbcyax | 623514
abcxyz acbbacbcbacbbac | 132213232132213
potato ptao | 1346, 1546, 1342, 1542
a aaaaa | 11111