https://leetcode.com/problems/range-sum-query-immutable/
class NumArray { vector<int> sums; public: NumArray(vector<int>& nums) { if (nums.size()>0) { sums.push_back(nums[0]); for (int i=1; i<nums.size(); i++) { sums.push_back(sums[i-1]+nums[i]); } } } int sumRange(int i, int j) { if (!sums.empty()) if (i==0) return sums[j]; else return sums[j]-sums[i-1]; else return 0; } };
/** * Your NumArray object will be instantiated and called as such: * NumArray* obj = new NumArray(nums); * int param_1 = obj->sumRange(i,j); */