Saltar al contenido

Las justas del torneo

Enunciado

Suenan las trompetas en la liza y el heraldo repasa la regla de las justas. Los caballeros esperan en fila y siempre justan los dos primeros: gana el de más fuerza. El ganador se queda al frente a esperar al que sigue, y el perdedor se forma al final de la fila. El primero que gane k justas seguidas es proclamado campeón.

Escribe una función que reciba fuerzas, las fuerzas de los caballeros en el orden de la fila (enteros positivos, todos distintos, al menos dos), y k, un entero de 1 a 100. Regresa la fuerza del campeón. La justa con la que alguien gana el primer lugar ya cuenta como la primera de su racha. Si k es grande no importa: el más fuerte, en cuanto llega al frente, ya no pierde y tarde o temprano junta sus k victorias.

Con [2, 1, 3, 5, 4, 6, 7] y k = 2: el 2 le gana al 1 (lleva 1) y el 1 se va al final; el 3 le gana al 2 (el 3 lleva 1); el 5 le gana al 3 (lleva 1) y luego al 4 (lleva 2). El campeón es el 5.

Ejemplos

  • El del ejemplo

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

  • Con una victoria basta

    [6, 2, 9], 1 → 6

  • Dos rachas que se cortan

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

  • Solo dos caballeros

    [5, 8], 3 → 8

  • El primero no suelta el frente

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

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

Empiezas con esto

Python

def campeon(fuerzas, k):
    pass

JavaScript

function campeon(fuerzas, 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 →