LeetCode:Range Sum Query - Immutable

Range Sum Query - Immutable


Total Accepted: 29091  Total Submissions: 118678  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:

  1. You may assume that the array does not change.
  2. There are many calls to sumRange function.

Subscribe to see which companies asked this question

Hide Tags
  Dynamic Programming
Hide Similar Problems
  (M) Range Sum Query 2D - Immutable (M) Range Sum Query - Mutable (E) Maximum Size Subarray Sum Equals k


























c++ code:

class NumArray {
public:
    NumArray(vector<int> &nums) {
        sums.push_back(0);
        for(int i=0;i<nums.size();i++) {
            sums.push_back(sums.back() + nums[i]);
        }
    }

    int sumRange(int i, int j) {
        return sums[j + 1] - sums[i];
    }
private:
    vector<int> sums;
};


// Your NumArray object will be instantiated and called as such:
// NumArray numArray(nums);
// numArray.sumRange(0, 1);
// numArray.sumRange(1, 2);


你可能感兴趣的:(LeetCode,SUM,query,-,IM,range)