题目:
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
Example:
Given nums = [-2, 0, 3, -5, 2, -1] sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3
Note:
- You may assume that the array does not change.
- There are many calls to sumRange function.
class NumArray {
public:
vector<int> acArray;
NumArray(vector<int> &nums) {
acArray.clear();
int sum =0;
int len = nums.size();
for (int i=0;i<len;i++){
sum+=nums[i];
acArray.push_back(sum);
}
}
int sumRange(int i, int j) {
return acArray[j]-acArray[i-1];
}
};
思路:
从a=0开始,到a=数组长度-1,分别算出【0,a】的和
【0,j】-【0,i-1】即可得到【i,j】的值