Saltar al contenido

El metrónomo parejo

Enunciado

Nora grabó un ensayo de batería sin metrónomo y anotó en qué milisegundo cayó cada golpe. Ahora quiere saber si llevó el tiempo perfecto: todos los golpes a la misma distancia.

Escribe una función que reciba golpes, una lista de enteros de menor a mayor y sin repetidos (puede venir vacía), y regrese verdadero si la distancia entre cada golpe y el siguiente es siempre la misma, y falso si no. Nadie te da esa distancia: la de referencia es la de los dos primeros golpes, y las demás se comparan con ella.

Con [0, 250, 500, 750] regresa verdadero. Con [100, 400, 700, 950] regresa falso: las distancias son 300, 300 y 250. Con dos golpes o menos no hay nada que comparar, así que regresa verdadero.

Ejemplos

  • Parejo

    [0, 250, 500, 750] → true

  • Se adelanta al final

    [100, 400, 700, 950] → false

  • Uno fuera de lugar en medio

    [0, 50, 110, 150, 200] → false

  • Dos golpes

    [1000, 1500] → true

  • Cinco golpes parejos

    [7, 19, 31, 43, 55] → true

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def tiempo_parejo(golpes):
    pass

JavaScript

function tiempoParejo(golpes) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n)

Ver todos los retos →