Codility: TapeEquilibrium



O(N)で解くことができる.
indexを基準に、前後に分けて計算する問題です.
既存の配列から対応するインデックスへの累積を求めた.
累積によりindexを基準として前後に計算する.
class Solution {
    public int solution(int[] A) {
        for(int index = 1; index < A.length; index++) {
            A[index] += A[index - 1];
        }

        int min = Integer.MAX_VALUE;
        for(int index = 1; index < A.length; index++) {
            int front = A[index - 1];
            int end = A[A.length - 1] - A[index - 1];
            int temp = Math.abs(front - end);

            if(min > temp) {
                min = temp;
            }
        }

        return min;
    }
}