Search⌘ K
AI Features

The Maze

Explore how to solve the maze problem by implementing depth-first search algorithms in Elixir. Understand how to navigate a ball through empty cells by rolling in four directions until hitting walls or boundaries. This lesson guides you in tracking visited paths and optimizing traversal for interview preparation.

Description

The maze is a puzzle game where the ball moves in the available empty spaces. The player aims to get the ball to the specified destination. The ball can go through the empty spaces by rolling up, down, left, or right, but it will not stop rolling until it hits a wall or reaches the destination and then hits a wall or reaches the end of a grid. After hitting a wall, the ball will choose the next direction before moving forward. The borders of the maze are considered walls.

Constraints

  • maze[i][j] must be 0 or 1, initially.
  • mazeLength == maze.length
  • mazeSubarrayLength == maze[i].length
  • 1 <= mazeLength, mazeSubarrayLength <= 100
  • start.length, end.length == 2
  • 0 <= startrowstart_{row}, endrowend_{row}
...