На прошлой неделе я столкнулся с проблемой кода на Hackerrank



Это проблема размещения ключевых слов в доступных зонах кроссворда как для горизонтального, так и для вертикального направления.

Вот код!

Было весело решить эту проблему. Позвольте мне попытаться объяснить шаг за шагом имена функций в коде;

  1. Прежде всего, нам нужна функция для поиска всех доступных зон. Это немного сложно из-за вертикального направления. findSpaces ()
  2. Нам нужна функция, чтобы определить, соответствует ли зона ключевому слову. isValidSpace ()
  3. Сделаем откат. Итак, нам нужны функции forward () и backward (). forward () поместит ключевое слово в соответствующее место перед рекурсией, backward () отменит его после рекурсии.
  4. Наконец, нам нужна рекурсивная функция с именем resolve (). Это свадебная часть. Он найдет возможные пробелы по длине и попытается рекурсивно разместить слова в зонах одно за другим. В случае неудачи будет выполнен откат. Обычный откат.

Удачного кодирования!

Https://github.com/eferhatg/Hackerrank-Crossword-Puzzle-Javascript-Solution