Блог пользователя EmilyBloom

Автор EmilyBloom, история, 22 месяца назад, По-английски

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?

  • Проголосовать: нравится
  • +5
  • Проголосовать: не нравится

»
22 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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