Hackerrank: Number Line Jumps

En este post te voy a explicar como resolví el challenge: Number Line Jumps de la plataforma Hackerrank con Scala.

Primeros pasos.

El code challenge consiste en averiguar si dadas una posición inicial, y un valor de saltos, dos canguros se encontraran en la misma ubicación, al mismo tiempo.

Tienes 3 variables por cada canguro, posición inicial (initialPosition), pasos (steps) e iteración (iteration). Ejemplo:

Canguro1 → initialPosition = 0, step = 3

Canguro2→ initialPosition = 4, step = 2

Cada iteración incrementa la posición:

1 → C1 = 0 + 3, C2 = 4 + 2.     3 != 6

2→ C1 = 0 + 6, C2 = 4 + 4.     6 != 8

3→ C1 = 0 + 9, C2 = 4 + 6.    9 != 10

4→ C1 = 0 + 12, C2 = 4 + 8   12 == 12

La condición se cumple en la iteración 4, el resultado es «YES».

A tener en cuenta.

El peor escenario posible es donde se tengan que hacer 1000 iteraciones, esta es una restricción del problema mismo.

Ejemplo.


 

Gustavo Sánchez