[Leetcode]Range Sum Query - Immutable

来源:互联网 发布:钓鱼网站 知乎 编辑:程序博客网 时间:2024/05/16 03:20

Given an integer array nums, find the sum of the elements between indicesi and j (ij), inclusive.

Example:

Given nums = [-2, 0, 3, -5, 2, -1]sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3

Note:

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


class NumArray {private:    vector<int>sumArray;public:    NumArray(vector<int> &nums) {        int sum = 0;        for(int i = 0;i < nums.size();i++){            sum += nums[i];             sumArray.push_back(sum);        }    }    int sumRange(int i, int j) {        int ret = sumArray[j];        if(i > 0){            ret -= sumArray[i-1];        }        return ret;    }};// Your NumArray object will be instantiated and called as such:// NumArray numArray(nums);// numArray.sumRange(0, 1);// numArray.sumRange(1, 2);


0 0
原创粉丝点击