La poción en equilibrio
- O(n) · Media
- Plan completo
- Python
- JavaScript
- listas
- ciclos
- índices
Enunciado
En el taller del alquimista, los ingredientes van en fila sobre una tabla larga, y la tabla se apoya en uno de ellos. Si se inclina, la poción se arruina. Algunos, como la pluma de fénix, tiran hacia arriba: pesan en negativo.
Recibes la lista de pesos, enteros (puede venir vacía). Regresa la primera posición, contando desde 0, donde lo que queda a la izquierda suma lo mismo que lo que queda a la derecha. El ingrediente de apoyo no cuenta de ningún lado, y un lado sin nada suma 0: [5] da 0. Si no hay tal posición, o la lista viene vacía, regresa -1.
Con [1, 7, 3, 6, 5, 6] regresas 3, porque 1 + 7 + 3 = 5 + 6 = 11.
Una pista: no sumes los dos lados en cada posición. Suma todo una vez y luego ve llevando lo de la izquierda; la derecha sale de restar.
Ejemplos
El apoyo a la mitad
[1, 7, 3, 6, 5, 6] → 3
Tres ingredientes
[2, 4, 2] → 1
Siempre se inclina
[1, 2, 3] → -1
Un solo ingrediente
[5] → 0
Tabla vacía
[] → -1
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def punto_de_apoyo(pesos):
passJavaScript
function puntoDeApoyo(pesos) {
}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.