Dynamic Programming:303. Range Sum Query

来源:互联网 发布:sqlserver 循环 编辑:程序博客网 时间:2024/05/29 12:15

简单题,只要维护一个数组,i位置的含义是0~i闭区间的和。

class NumArray {public:    vector<int> sums;    NumArray(vector<int> nums) {        if(nums.size() != 0)        {            sums.push_back(nums[0]);            for(int i = 1; i < nums.size(); ++i)            {                sums.push_back(sums[i - 1] + nums[i]);            }        }            }        int sumRange(int i, int j) {        if(sums.size() == 0)            return 0;        if(i-1 < 0)            return sums[j];        else            return sums[j] - sums[i - 1];    }};/** * Your NumArray object will be instantiated and called as such: * NumArray obj = new NumArray(nums); * int param_1 = obj.sumRange(i,j); */


原创粉丝点击