EmilyBloom's blog

By EmilyBloom, history, 2 years ago, In English

Hi. I recently came accross this question. Link

Given a 2d array where 1 represent a stone and 0 represent water. Return how many path exist in the matrix from top row to the bottom row. You can travel in all directions (top, bottom, left, right) by one position.

Input: [[0, 1, 0, 1, 1],

[0, 1, 1, 0, 1],

[0, 0, 1, 1, 0],

[0, 0, 0, 1, 1]]

The first obvious thought that comes to my mind is backtracking, but that will have large time complexity. How to do this optimally?

  • Vote: I like it
  • +5
  • Vote: I do not like it

| Write comment?
»
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Do the paths have to be simple, i.e. they cannot visit the same entry twice or more?