Prefix sum

public class NumArray {

    private int[] prefixSum;
    public NumArray(int[] nums) {
        prefixSum = new int[nums.length + 1];
        int sum = 0;
        for (int i = 0; i < nums.length; ++i) {
            sum += nums[i];
            prefixSum[i + 1] = sum;
        }
    }

    public int sumRange(int i, int j) {
        if (i >= prefixSum.length - 1 && j >= prefixSum.length - 1) return 0;

        return prefixSum[j + 1] - prefixSum[i];
    }
}

results matching ""

    No results matching ""