303. Range Sum Query - Immutable
Total Accepted: 10632 Total Submissions: 44726 Difficulty: Easy
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
Example:
Given nums = [-2, 0, 3, -5, 2, -1] sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3
Note:
- You may assume that the array does not change.
- There are many calls to sumRange function.
class NumArray { public: NumArray(vector<int> &nums) { int nums_size = nums.size(); sum.resize(nums_size); for(int i=0;i<nums_size;i++){ sum[i] = i==0 ? nums[i]:sum[i-1]+nums[i]; } } int sumRange(int i, int j) { return i==0 ? sum[j] : sum[j] - sum[i-1]; } private: vector<int> sum; }; // Your NumArray object will be instantiated and called as such: // NumArray numArray(nums); // numArray.sumRange(0, 1); // numArray.sumRange(1, 2);
Next challenges: (M) Range Sum Query 2D - Immutable (M) Range Sum Query - Mutable