1. 程式人生 > >LeetCode#303 Range Sum Query

LeetCode#303 Range Sum Query

1、利用動態規劃思想,sum(i, j) 實際上是sum(0, j) - sum(0, i-1) 。 2、構造一個逐次累加和的陣列,返回i、j兩項相減結果即可。

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

/**
 * Your NumArray object will be instantiated and called as such:
 * NumArray obj = new NumArray(nums);
 * int param_1 = obj.sumRange(i,j);
 */