Return to Snippet

Revision: 34721
at October 27, 2010 20:02 by ariellephan


Initial Code
int equi(int[] A) {
        int i;
        int s = 0;
        for (i = 0; i < A.length; ++ i) s += A[i];
        while (i-- > 0 && A[i] != s) s -= 2 * A[i];
        return i;
    }

Initial URL


Initial Description
Given an array A of N integers, equi(A) is any index i for which:
(1)  i is a valid index into A, i.e. 0 <= i < N
(2) The sum of integers preceding (but not including) i is equal to the sum of integers following (again not including) i. i.e.:
A[0]+A[1]+...+A[i-1] = A[i+1]+A[i+2]..+A[N-1]

If there is no such index i, equi(A) = -1.

Initial Title
Equilibrium index

Initial Tags


Initial Language
Java