Ähnlich wie bei dieser Frage , aber dies ist eine Kreuzworträtselvariante!
Anstelle von nur einem Buchstaben pro Gitterfeld können Sie auch einen oder zwei Buchstaben haben .
Eingang:
- Ein 2D-Array oder was auch immer in Ihrer Sprache funktioniert.
- Sie können gültige Eingaben annehmen
- Jede Array-Größe muss funktionieren
Ausgabe:
- Ein Array aller Wörter
- Über und unter
- Alle Wörter müssen zusammengefügt sein, dh zu einer ununterbrochenen Wortkette verbunden sein (wenn nicht false zurückgegeben wird)
- Wörter müssen mindestens zwei Gitterquadrate und keine Buchstaben sein
Beispiel:
[["", "wo", "r", "k"],
[ "", "r", "", ""],
[ "he", "l", "lo", ""],
[ "", "d", "ad", ""]]
Kehrt zurück:
["work", "world", "hello", "load", "dad"]
Beispiel:
[["he", "ll", "o"],
[ "", "", ""],
[ "wo", "r", "ld"]]
Kehrt zurück:
false
Dies ist der schnellste Code , daher werde ich ihn unter Windows 7 mit 2,5 GHz und 16 GB RAM ausführen. Wenn Ihr Code wirklich esoterisch ist, stellen Sie einen Link zum Compiler bereit, damit ich ihn tatsächlich ausführen kann.
string
fastest-code
crossword
epicbob57
quelle
quelle
Antworten:
Python 3
Verwendung:
Die Funktion verwendet ein Array von Strings als Eingabe:
crosswords( [["", "wo", "r", "k"], [ "", "r", "", ""], [ "he", "l", "lo", ""], [ "", "d", "ad", ""]])
Gibt die Zeichenfolge zurück,
false
wenn die Konnektivität mehrere Bezeichnungen zurückgibt. Gibt ansonsten ein Array gültiger Wörter zurück.Ich timed es mit
timeit
,time.time()
und mit dem Konsolenbefehltime
und , aber ich weiß nicht , welche zu benutzen oder eine , die hier zu posten.quelle