303. Range Sum Query - Immutable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class NumArray {

private final int[] prefixSumArray;

public NumArray(int[] nums) {
this.prefixSumArray = new int[nums.length + 1];
for (int i = 1; i < prefixSumArray.length; i++) {
prefixSumArray[i] = prefixSumArray[i - 1] + nums[i - 1];
}
}

public int sumRange(int left, int right) {
return prefixSumArray[right + 1] - prefixSumArray[left];
}

}

References

303. Range Sum Query - Immutable