Microsoft Interview Question

Recursively find the shortest valid path from one point to another in an array (basically solve a maze).