O caminho mais curto
Dada uma grade retangular de m por n espaços, representados por 0, e uma quantidade de pontos, representados por 1, 2, 3..., retorne o número de movimentos do caminho mais curto que começa em 1 e passa por todos os outros pontos em ordem crescente.
Exemplos
shortestPath([
"001",
"002",
"003"
]) ➞ 2
shortestPath([
"00000",
"01006",
"02000",
"30050",
"00004"
]) ➞ 13
shortestPath([
"00020000",
"01000000"
]) ➞ 3Observações
- Apenas movimentos horizontais e verticais são permitidos.
- Cada movimento de um lugar para outro adjacente conta como 1, independentemente da direção.
- Os pontos variam de 1 a no máximo 9, sem dígitos repetidos ou ausentes.