15算法课程 303. Range Sum Query

来源:互联网 发布:ubuntu命令行升级系统 编辑:程序博客网 时间:2024/06/06 09:53


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) -> 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.


solution:

本题很简单,就考察了类的使用


code:

class NumArray {public:    NumArray(vector<int> nums) {        accu.push_back(0);        for (int num : nums)            accu.push_back(accu.back() + num);    }    int sumRange(int i, int j) {        return accu[j + 1] - accu[i];    }private:    vector<int> accu;};