На прошлой неделе я столкнулся с проблемой кода на Hackerrank
Это проблема размещения ключевых слов в доступных зонах кроссворда как для горизонтального, так и для вертикального направления.
Было весело решить эту проблему. Позвольте мне попытаться объяснить шаг за шагом имена функций в коде;
- Прежде всего, нам нужна функция для поиска всех доступных зон. Это немного сложно из-за вертикального направления. findSpaces ()
- Нам нужна функция, чтобы определить, соответствует ли зона ключевому слову. isValidSpace ()
- Сделаем откат. Итак, нам нужны функции forward () и backward (). forward () поместит ключевое слово в соответствующее место перед рекурсией, backward () отменит его после рекурсии.
- Наконец, нам нужна рекурсивная функция с именем resolve (). Это свадебная часть. Он найдет возможные пробелы по длине и попытается рекурсивно разместить слова в зонах одно за другим. В случае неудачи будет выполнен откат. Обычный откат.
Удачного кодирования!
Https://github.com/eferhatg/Hackerrank-Crossword-Puzzle-Javascript-Solution