[Java]現在の要素と残りの要素の和の違い(TapeEquilibrium)


Type


時間の複雑さ

内容


int arrayでは、現在のキー値NとNを除き、残りのキー値の和が最小となる.
まず全体の要素とを求めて、それから左右の値を求めます.求めた絶対値を新しいArrayListに入れます.
Collectionクラスminメソッドを使用して最小値を求めます.
public int solution(int[] A) {

        int sum = 0;
        int left = 0;
        int right = 0;

        for (int i : A) {
            sum += i;
        }

        ArrayList<Integer> ints = new ArrayList<Integer>();

        for (int j = 0; j < A.length - 1; j++) {
            left += A[j];
            right = sum - left;
            ints.add(Math.abs(left - right));
        }

        return Collections.min(ints);
    }