La ventana de lanzamiento
- O(n) · Media
- Plan completo
- Python
- JavaScript
- listas
- ciclos
- índices
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):
passJavaScript
function primerDia(vientos, limite, k) {
}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.