Saltar al contenido

La ventana de lanzamiento

Enunciado

Faltan semanas para el lanzamiento y la torre de control ya tiene el pronóstico: la fuerza del viento, un número por día. Para cargar combustible y despegar, el cohete necesita k días seguidos de calma. Un día es de calma si su viento es menor que el límite; igual al límite ya no sirve, y un solo día malo corta la racha.

Escribe una función que reciba la lista de vientos (enteros de 0 en adelante), el limite y k (entero mayor que 0). Regresa la posición del día en que empieza la primera racha de k días de calma, no la del día en que se completa. Las posiciones empiezan en 0.

Con [9, 3, 8, 2, 4, 1, 7], límite 5 y k 3, los días 3, 4 y 5 son de calma: regresas 3. Si no hay ninguna racha así, o la lista viene vacía, regresas -1.

Ejemplos

  • El ejemplo

    [9, 3, 8, 2, 4, 1, 7], 5, 3 → 3

  • Calma desde el primer día

    [1, 2, 3, 9], 5, 3 → 0

  • Una racha se rompe y otra empieza después

    [2, 3, 7, 1, 2, 4, 6], 5, 3 → 3

  • Igual al límite no es calma

    [4, 5, 4, 4, 3], 5, 3 → 2

  • Nunca hay tres días seguidos

    [6, 1, 1, 8, 1, 1], 5, 3 → -1

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

Empiezas con esto

Python

def primer_dia(vientos, limite, k):
    pass

JavaScript

function primerDia(vientos, limite, k) {
}
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 →