难度:easy
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
这道题其实是一个很简单的求和,但是由于给出题目的调用方式跟以往的不一样,那就一定得用动态规划的方式。采取的是取用前面用过的值,保存了在一个临时的变量里面,然后push到一个vector里面,最后直接进行减法运算。
代码如下:
class NumArray {
public:
NumArray(vector<int> nums) {
int temp=0;
for(int i=0;i<nums.size();i++)
{
temp+=nums[i];
vec.push_back(temp);
}
}
int sumRange(int i, int j) {
if(i==0)
return vec[j];
else return vec[j]-vec[i-1];
}
private:
vector<int>vec;
};
/**
* Your NumArray object will be instantiated and called as such:
* NumArray obj = new NumArray(nums);
* int param_1 = obj.sumRange(i,j);
*/