La escalera más larga
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- ciclos
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):
passJavaScript
function escaleraLarga(cartas) {
}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)
- La medianalistas · ordenar · decimales
- La nota de la investigadoralistas · ordenar · comparaciones
- La tienda del juegoordenar · ciclos · comparaciones
- Las antorchas de la murallalistas · ordenar · decimales
- Las colmenas separadaslistas · ordenar · búsqueda
- Las horas de los testigoslistas · ordenar · comparaciones