Robot Maze Coding Interview Question | Skilled.dev
Interview Question

Robot Maze

Course launching August 2020

Follow me on YouTube for free coding interview videos.

Users who sign up for the email list will receive an exclusive 75% discount at launch.

Your subscription could not be saved. Please try again.
Your subscription was successful! 🤓

MENTION BACKTRACKING

You're training a robot to walk through a room and search for an exit. The room will be represented as a matrix. For simplicity, the robot will always start at the top-left and can only walk down or right.

There may or may not be a path to the exit in the room. An open node is represented by 0, a blocked node is represented by 1, and an exit is represented by 2.

Write a function hasExitPath that returns a boolean if there is path to an exit or not.

hasExitPath([
  [0, 0, 0],
  [0, 0, 1],
  [0, 0, 1],
  [1, 0, 2],
]); // true

hasExitPath([
  [0, 0, 0, 0],
  [1, 0, 0, 1],
  [2, 1, 0, 0],
]); // false

Validate My Answer

  1. There can be many paths. We only care if there is at least one, and then we can return true.

  2. If you solve this recursively, you may be doing a lot of repeated operations. Try to remove these duplicate operations to improve your time complexity.

  3. You can solve this in O(r x c) time and space, where r is the number of rows and c is the number of columns.