La vela entre dos mástiles
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- listas
- ciclos
- comparaciones
Enunciado
"Amárrala entre los dos mástiles que quieras", dice la capitana, y te da la vela de repuesto. La vela es un rectángulo: su ancho es la distancia entre las posiciones de los dos mástiles, y su alto, el del más bajo de los dos, porque más arriba no hay de dónde atarla. Los de en medio no estorban.
Escribe una función que reciba mastiles, la lista de alturas en el orden de la cubierta, uno por posición (enteros de 0 en adelante; puede venir vacía). Regresa un entero: el área de la vela más grande que se puede tender. Con menos de dos mástiles no hay vela: regresa 0.
Con [3, 7, 2, 6], entre el 7 (posición 1) y el 6 (posición 3) va una de ancho 2 y alto 6, área 12. Entre el 3 y el 6: ancho 3, alto 3, área 9. Ningún otro par da más, así que la respuesta es 12.
Ejemplos
El del ejemplo
[3, 7, 2, 6] → 12
Nueve mástiles
[1, 8, 6, 2, 5, 4, 8, 3, 7] → 49
Solo dos mástiles
[4, 9] → 4
Las puntas ganan
[5, 1, 1, 1, 5] → 20
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def vela_mayor(mastiles):
passJavaScript
function velaMayor(mastiles) {
}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²)
- Las antenas que se vencomparaciones · ciclos · listas
- Las cepas más parecidastextos · listas · ciclos
- Las cifras de la esfingedígitos · textos · índices
- Las fichas del atrilciclos · listas · textos
- Las justas del torneocomparaciones · ciclos · listas
- Las muestras en las cápsulascomparaciones · ciclos · listas