The Range Sum Query - Immutable solutions are below.
15 Jun 2024•Easy•C++ / Python / TypeScript
Range Sum Query - Immutable
C++, Python and TypeScript solutions for Range Sum Query - Immutable.
Solution files
Python•range-sum-query-immutable/synced-solution.py
class NumArray:
def __init__(self, nums: list[int]):
self.prefix = [0]
for num in nums:
self.prefix.append(self.prefix[-1] + num)
def sumRange(self, left: int, right: int) -> int:
return self.prefix[right + 1] - self.prefix[left]
C++•range-sum-query-immutable/synced-solution.cpp
class NumArray {
private:
vector<int> prefix;
public:
NumArray(vector<int>& nums) {
prefix.push_back(0);
for (int num : nums) {
prefix.push_back(prefix.back() + num);
}
}
int sumRange(int left, int right) {
return prefix[right + 1] - prefix[left];
}
};
TypeScript•range-sum-query-immutable/synced-solution.ts
class NumArray {
private prefix: number[];
constructor(nums: number[]) {
this.prefix = [0];
for (const num of nums) {
this.prefix.push(this.prefix[this.prefix.length - 1] + num);
}
}
sumRange(left: number, right: number): number {
return this.prefix[right + 1] - this.prefix[left];
}
}