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