El número más grande
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- dígitos
Enunciado
Te dan una lista de dígitos sueltos, cada uno de 0 a 9, y tienes que acomodarlos para formar el número más grande posible.
Con 4, 5, 6 y 1 la respuesta es 6541: el dígito más grande manda, porque el que quede al frente vale más que todos los demás juntos.
Las reglas: se usan todos los dígitos y ninguno se queda fuera, así que si el 4 viene tres veces, sale tres veces en el resultado. Si la lista viene vacía, regresas 0.
El camino es ordenar: acomoda los dígitos de mayor a menor y pégalos en ese orden. Para pegarlos puedes empezar en 0 y, con cada dígito, multiplicar lo que llevas por 10 y sumarle el dígito.
Ojo con lo último: hay que regresar un número, no un texto.
Ejemplos
Tres dígitos
[1, 2, 3] → 321
Cuatro desordenados
[4, 5, 6, 1] → 6541
Con un nueve
[1, 2, 3, 9] → 9321
Un dígito repetido
[4, 4, 1, 4] → 4441
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def mayor_numero(digitos):
passJavaScript
function mayorNumero(digitos) {
}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.