您的位置:首页 > 产品设计 > UI/UE

leetcode 303. Range Sum Query - Immutable

2017-06-03 16:29 537 查看
难度: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);
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: