El metrónomo parejo
- O(n) · Media
- Plan completo
- Python
- JavaScript
- listas
- ciclos
- booleanos
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):
passJavaScript
function tiempoParejo(golpes) {
}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.