mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
668 B
668 B
303. Range Sum Query - Immutable
思路
用一个数组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];
}
};