Saltar al contenido

La poción en equilibrio

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):
    pass

JavaScript

function puntoDeApoyo(pesos) {
}
Resolver este reto

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)

Ver todos los retos →