mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
25 lines
668 B
Markdown
25 lines
668 B
Markdown
![]() |
# [303. Range Sum Query - Immutable](https://leetcode.com/problems/range-sum-query-immutable/description/)
|
|||
|
# 思路
|
|||
|
用一个数组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];
|
|||
|
}
|
|||
|
};
|
|||
|
```
|