vector< int >nums;//原数组
int n = nums.size();
//前缀和数组
vector<int>presum(n+1,0);//presum[i]代表[0,i-1]的和。所以presum[0]没有意义,不用管。
for (int i = 0; i < n; i++){
presum[i + 1] = presum[i] + nums[i];
}
所以nums[i]到nums[j]的和就是presum[j+1]-presum[i]。
vector< int >nums;//原数组
int n = nums.size();
//前缀和数组
vector<int>presum(n+1,0);//presum[i]代表[0,i-1]的和。所以presum[0]没有意义,不用管。
for (int i = 0; i < n; i++){
presum[i + 1] = presum[i] + nums[i];
}
所以nums[i]到nums[j]的和就是presum[j+1]-presum[i]。