Semelhante a esta pergunta , mas esta é uma variação de palavras cruzadas!
Em vez de apenas uma letra por quadrado da grade, você pode ter uma ou duas .
Entrada:
- Uma matriz 2D, ou o que funcionar no seu idioma.
- Você pode assumir entradas válidas
- Qualquer tamanho de matriz deve funcionar
Resultado:
- Uma matriz de todas as palavras
- De um lado para o outro
- Todas as palavras devem ser unidas, ou seja, vinculadas em uma cadeia ininterrupta de palavras (se não retornar false)
- As palavras devem ter pelo menos dois quadrados de grade , não letras
Exemplo:
[["", "wo", "r", "k"],
[ "", "r", "", ""],
[ "he", "l", "lo", ""],
[ "", "d", "ad", ""]]
Devoluções:
["work", "world", "hello", "load", "dad"]
Exemplo:
[["he", "ll", "o"],
[ "", "", ""],
[ "wo", "r", "ld"]]
Devoluções:
false
Este é o código mais rápido , então eu o executarei no Windows 7 com 2,5 GHz e 16 GB de RAM. Se o seu código é realmente esotérico, forneça um link para o compilador para que eu possa executá-lo.
string
fastest-code
crossword
epicbob57
fonte
fonte
Respostas:
Python 3
Uso:
A função recebe uma matriz de matriz de strings como entrada:
crosswords( [["", "wo", "r", "k"], [ "", "r", "", ""], [ "he", "l", "lo", ""], [ "", "d", "ad", ""]])
Retorna a string
false
quando a conectividade retornar vários rótulos. Retorna uma matriz de palavras válidas caso contrário.Eu cronometrei com
timeit
,time.time()
e usando o comando console,time
mas não sei qual usar ou qual postar aqui.fonte