Semblable à cette question , mais c'est une variation de mots croisés!
Au lieu d'une seule lettre par carré de grille, vous pouvez en avoir une ou deux .
Contribution:
- Un tableau 2D, ou tout ce qui fonctionne dans votre langue.
- Vous pouvez supposer des entrées valides
- Toute taille de tableau doit fonctionner
Production:
- Un tableau de tous les mots
- De haut en bas
- Tous les mots doivent être réunis, c'est-à-dire liés dans une chaîne de mots ininterrompue (sinon renvoyer faux)
- Les mots doivent être au moins deux carrés de la grille , pas des lettres
Exemple:
[["", "wo", "r", "k"],
[ "", "r", "", ""],
[ "he", "l", "lo", ""],
[ "", "d", "ad", ""]]
Retour:
["work", "world", "hello", "load", "dad"]
Exemple:
[["he", "ll", "o"],
[ "", "", ""],
[ "wo", "r", "ld"]]
Retour:
false
C'est le code le plus rapide , donc je l'exécuterai sur Windows 7 avec 2,5 GHz et 16 Go de RAM. Si votre code est vraiment ésotérique, fournissez un lien vers le compilateur pour que je puisse l'exécuter.
string
fastest-code
crossword
epicbob57
la source
la source
Réponses:
Python 3
Usage:
La fonction prend un tableau de tableau de chaînes en entrée:
crosswords( [["", "wo", "r", "k"], [ "", "r", "", ""], [ "he", "l", "lo", ""], [ "", "d", "ad", ""]])
Renvoie la chaîne
false
lorsque la connectivité renvoie plusieurs étiquettes. Renvoie un tableau de mots valides sinon.Je l' ai chronométré avec
timeit
,time.time()
et en utilisant la commande de la consoletime
et mais je ne sais pas lequel utiliser ou qui à poster ici.la source