Los tres cristales
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- operaciones
Enunciado
"Tres cristales, ni uno más", te advierte la hechicera antes de la última puerta. El hechizo que abre la puerta fusiona tres de los cristales de tu inventario, y su poder es el producto de sus cargas. Escribe una función que reciba cargas, una lista de enteros con al menos tres elementos, y regrese un entero: el producto más grande que puedes lograr multiplicando tres de ellos. Cada cristal se usa una vez, pero dos cristales distintos pueden tener la misma carga.
Con [4, 1, 7, 2] eliges 4, 7 y 2, y el poder es 4 × 7 × 2 = 56.
Ojo: hay cristales malditos, con carga negativa, y también de carga 0. Un negativo por otro negativo da positivo. Si todas las opciones dan un poder negativo, regresas el menos malo, el más cercano a 0.
Ejemplos
El del ejemplo
[4, 1, 7, 2] → 56
Justo tres cristales
[3, 5, 2] → 30
Un maldito que no conviene
[-10, 1, 2, 3] → 6
Dos malditos que no alcanzan
[-1, -2, 4, 5, 6] → 120
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def poder_maximo(cargas):
passJavaScript
function poderMaximo(cargas) {
}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.