Skip to content

Latest commit

 

History

History
24 lines (23 loc) · 671 Bytes

303. Range Sum Query - Immutable.md

File metadata and controls

24 lines (23 loc) · 671 Bytes

思路

用一个数组sums记录和,sums[i]代表nums[0]到nums[i]的和,那么sumRange(i, j)就应该等于sum[i] - sum[i-1], 注意单独判断i得0时。
注意这种面向对象的代码风格。

C++

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