Saltar al contenido

La escalera más larga

Enunciado

Te tocó una mano revuelta en el juego de cartas de la taberna, el minijuego al que todos le dedican más horas que a salvar el reino. Ahí, una escalera son valores seguidos sin huecos, como 4, 5, 6 y 7, y la ronda se gana con la escalera más larga.

Recibes cartas, una lista de enteros positivos en cualquier orden, que puede traer repetidos y puede venir vacía. Regresa un entero: el largo de la escalera más larga que puedes armar. No hace falta usar toda la mano: con [9, 3, 5, 4, 12, 6] regresas 4, por 3, 4, 5 y 6, y el 9 y el 12 se quedan fuera. Una carta repetida no rompe la escalera ni la alarga: [1, 2, 2, 3] da 3. Una sola carta ya es una escalera de 1, y con la mano vacía regresas 0.

Ejemplos

  • Dos cartas se quedan fuera

    [9, 3, 5, 4, 12, 6] → 4

  • Cartas de dos cifras

    [10, 8, 9, 11] → 4

  • Una carta repetida

    [1, 2, 2, 3] → 3

  • La más larga no es la primera que ves

    [20, 3, 21, 1, 2, 4] → 4

  • La escalera va al final

    [1, 2, 10, 11, 12, 13] → 4

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

Empiezas con esto

Python

def escalera_larga(cartas):
    pass

JavaScript

function escaleraLarga(cartas) {
}
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 log n)

Ver todos los retos →