Range Sum Query - Immutable Visualizer & Step-by-Step Algorithm Solution

Precompute prefix sums in O(n) to evaluate contiguous subarray sum queries in constant O(1) time.

Category: arrays | Difficulty: Easy

Tags: Prefix Sum, Array, Design

Range Sum Query - Immutable

Input Array (nums)
-2
0
0
1
3
2
-5
3
2
4
-1
5
Prefix Sum Array (prefixSum)
100%
state
nums.length6
queriesCount3
Constructor
1/25
Explanation

Constructing NumArray instance for nums = [-2, 0, 3, -5, 2, -1].

Source Code
1class NumArray {
2 private prefixSum: number[];
3 constructor(nums: number[]) {
4 this.prefixSum = Array(nums.length + 1).fill(0);
5 for (let i = 1; i <= nums.length; i++) {
6 this.prefixSum[i] = this.prefixSum[i - 1] + nums[i - 1];
7 }
8 }
9
10 sumRange(left: number, right: number): number {
11 return this.prefixSum[right + 1] - this.prefixSum[left];
12 }
13}