Podobne do tego pytania , ale jest to wariant krzyżówki!
Zamiast tylko jednej litery na kwadrat siatki, możesz mieć jedną lub dwie .
Wejście:
- Tablica 2D lub cokolwiek, co działa w Twoim języku.
- Możesz założyć prawidłowe dane wejściowe
- Każdy rozmiar tablicy musi działać
Wynik:
- Tablica wszystkich słów
- W poprzek i w dół
- Wszystkie słowa muszą być ze sobą połączone, tzn. Połączone w nieprzerwany łańcuch słów (jeśli nie zwróci false)
- Słowa muszą mieć co najmniej dwa kwadraty siatki , a nie litery
Przykład:
[["", "wo", "r", "k"],
[ "", "r", "", ""],
[ "he", "l", "lo", ""],
[ "", "d", "ad", ""]]
Zwroty:
["work", "world", "hello", "load", "dad"]
Przykład:
[["he", "ll", "o"],
[ "", "", ""],
[ "wo", "r", "ld"]]
Zwroty:
false
Jest to najszybszy kod , więc będę go uruchamiał w systemie Windows 7 z 2,5 GHz i 16 GB pamięci RAM. Jeśli twój kod jest naprawdę ezoteryczny, podaj link do kompilatora, abym mógł go uruchomić.
string
fastest-code
crossword
epicbob57
źródło
źródło
Odpowiedzi:
Python 3
Stosowanie:
Funkcja przyjmuje jako tablicę tablicę ciągów znaków:
crosswords( [["", "wo", "r", "k"], [ "", "r", "", ""], [ "he", "l", "lo", ""], [ "", "d", "ad", ""]])
Zwraca ciąg,
false
gdy łączność zwraca wiele etykiet. W przeciwnym razie zwraca tablicę poprawnych słów.I timed go
timeit
,time.time()
a za pomocą polecenia konsolitime
i ale nie wiem który z nich korzystać lub które z nich zamieszczać tutaj.źródło