¿Quieres un reto mayor?
Resuelve en 15:00
Importante: Para que se registre el resultado tienes que iniciar sesión.
Este ejercicio fue usado en una prueba técnica de empleo.
Mayor suma de números no adyacentes
Enunciado
Este ejercicio fue preguntado por Airbnb.
Dada una lista de enteros, escribe una función que devuelva la mayor suma posible seleccionando números en posiciones no adyacentes. No puedes elegir dos números que estén en posiciones consecutivas del array.
Si todos los números son negativos o el array está vacío, devuelve 0 (no estás obligado a seleccionar ningún elemento).
Ejemplos:
largestNonAdjacentSum([2, 4, 6, 8]) // → 12 (elegimos 4 + 8, en posiciones 1 y 3)
largestNonAdjacentSum([5, 1, 1, 5]) // → 10 (elegimos 5 + 5, en posiciones 0 y 3)
largestNonAdjacentSum([3, 2, 5, 10, 7]) // → 15 (elegimos 3 + 5 + 7, en posiciones 0, 2 y 4)
largestNonAdjacentSum([-1, -2, -3]) // → 0 (no conviene seleccionar nada)
largestNonAdjacentSum([5]) // → 5 (un único elemento, lo seleccionamos)
En el tercer ejemplo, aunque 5 y 10 son adyacentes, la combinación óptima es 3+5+7 = 15, no 5+10 = 15. Siempre busca la combinación de elementos no adyacentes que maximize la suma total.
Restriccionesexpand_more
- Dificultad: Difícil
- Completa todos los test cases para obtener los 100 puntos.
- No modificar la línea
exportal final del archivo. - Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.