Easy
Range Sum Query - Immutable — C++
Full explanation · Time ctor: O(n), lookup: O(1) · Space O(n)
// Time: ctor: O(n),
// lookup: O(1)
// Space: O(n)
class NumArray {
public:
NumArray(vector<int> &nums) {
accu.emplace_back(0);
for (const auto& num : nums) {
accu.emplace_back(accu.back() + num);
}
}
int sumRange(int i, int j) {
return accu[j + 1] - accu[i];
}
private:
vector<int> accu;
};
// Your NumArray object will be instantiated and called as such:
// NumArray numArray(nums);
// numArray.sumRange(0, 1);
// numArray.sumRange(1, 2);